当前位置:主页 > 软件编程 > C代码 >

C语言复数的加减及输出结构体

时间:2022-10-14 10:25:06 | 栏目:C代码 | 点击:

    一、

#include<stdio.h>
 
typedef struct complex
{
	int real;	//实部
	int imag;	//虚部
}complex;
 
/*
	功能:复数加法
	参数:两个复数
	返回值:两个复数的和
*/
complex complexadd(complex x,complex y)
{
	complex sum;
	sum.real = x.real + y.real;
	sum.imag = x.imag + y.imag;
	return sum;
}
 
/*
	功能:复数减法
	参数:两个复数
	返回值:两个复数的差
*/
complex complexsub(complex x,complex y)
{
	complex sum;
	sum.real = x.real - y.real;
	sum.imag = x.imag - y.imag;
	return sum;
}
 
/*
	功能:打印复数
	参数:一个复数
*/
void printfcomplex(complex x)
{
	printf("%d",x.real);
	if(x.imag > 0)
	{
		printf("+");
	}
	printf("%d\n",x.imag);
}
 
int main()
{
	complex f1 = {3,-5};
	complex f2 = {-5,8};
	printfcomplex(f1);
	printfcomplex(f2);
	complex f3 = complexadd(f1,f2);
	printfcomplex(complexadd(f1,f2));
	printfcomplex(f3);
	printfcomplex(complexsub(f1,f2));
	return 0;
}
 
 

二、分文件

complex.c

#include<stdio.h>
#include"complex.h"
 
 
/*
	功能:复数加法
	参数:两个复数
	返回值:两个复数的和
*/
complex complexadd(complex x,complex y)
{
	complex sum;
	sum.real = x.real + y.real;
	sum.imag = x.imag + y.imag;
	return sum;
}
 
/*
	功能:复数减法
	参数:两个复数
	返回值:两个复数的差
*/
complex complexsub(complex x,complex y)
{
	complex sum;
	sum.real = x.real - y.real;
	sum.imag = x.imag - y.imag;
	return sum;
}
 
/*
	功能:打印复数
	参数:一个复数
*/
void printfcomplex(complex x)
{
	printf("%d",x.real);
	if(x.imag > 0)
	{
		printf("+");
	}
	printf("%di\n",x.imag);
}

main.c

#include<stdio.h>
#include"complex.h"		// complex 头文件
 
int main()
{	
	complex f1 = {3,-5};		// 结构体初始化
	complex f2 = {-5,8};
	printfcomplex(f1);			// 打印复数
	printfcomplex(f2);
	complex f3 = complexadd(f1,f2);
	printfcomplex(complexadd(f1,f2));
	printfcomplex(f3);
	printfcomplex(complexsub(f1,f2));
	return 0;
}

complex.h

#ifndef __COMPLEX_H__
#define __COMPLEX_H__
 
// 类型声明
typedef struct complex
{
	int real;	//实部
	int imag;	//虚部
}complex;
 
/*
	功能:复数加法
	参数:两个复数
	返回值:两个复数的和
*/
complex complexadd(complex x,complex y);
 
/*
	功能:复数减法
	参数:两个复数
	返回值:两个复数的差
*/
complex complexsub(complex x,complex y);
 
 
/*
	功能:打印复数
	参数:一个复数
*/
void printfcomplex(complex x);
 
 
#endif

您可能感兴趣的文章:

相关文章