C语言复数
Joyce-- 人气:0一、
#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
加载全部内容