一、
#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
到此这篇关于C语言复数的加减及输出结构体的文章就介绍到这了,更多相关C语言复数内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!