使用c语言实现复数运算的程序,运用C语言编写复数的四则运算.docx

#includetypedef struct

{

float re;

float im;

} Complex;

Complex createComplex(float a,float b) //编写一个函数生成复数//

{

Complex z;

z.re=a;

z.im=b;

return z;

}

void printComplex(Complex z) //输出复数并控制其格式//

{

if(z.re==0&&z.im==0)

printf("0\n");

else if(z.re!=0&&z.im==0)

printf("%.2f\n",z.re);

else if(z.re==0&&z.im!=0)

{

if(z.im>0)

printf("i%.2f\n",z.im);

else if(z.im<0)

printf("-i%.2f\n",fabs(z.im));

}

else

{

if(z.im>0)

printf("%.2f+i%.2f\n",z.re,z.im);

else

printf("%.2f-i%.2f\n",z.re,fabs(z.im));

}

}

Complex add(Complex z1,Complex z2)

{

Complex z;

z.re=z1.re+z2.re;

z.im=z1.im+z2.im;

return z;

}

Complex jian(Complex z1,Complex z2)

{

Complex z;

z.re=z1.re-z2.re;

z.im=z1.im-z2.im;

return z;

}

Complex cheng(Complex z1,Complex z2)

{

Complex z;

z.re=z1.re*z2.re-z1.im*z2.im;

z.im=z1.re*z2.im+z1.im*z2.re;

return z;

}

main()

{

float a,b,c,d;

Complex z1,z2,c1,c2,c3;

printf("请输入元素");

scanf("%f%f%f%f",&a,&b,&c,&d); //输入元素并调用函数生成复数z1,z2;并输出//

z1=createComplex(a,b);

z2=createComplex(c,d);

printf("产生的两个复数为:");

printComplex(z1);

printComplex(z2);

c1=add(z1,z2);

c2=jian(z1,z2);

c3=cheng(z1,z2);

printf("这两个复数的和差积:");

printComplex(c1);

printComplex(c2);

printComplex(c3);

}

4. 调试及分析

1. 由于开始对于结构体使用并不熟悉,使用时语法错误很多,需要多加使用。

2. 编写是输入printf拼写错误(漏掉后面的f)导致该程序无法执行

3. 在使用“&&”符号是漏些了一个&符号,这点需要常记。

4. 对于声明的函数使用不熟练,在编写时对于其中的循环结构难以很流畅使用,即需要加强对for循环的使用。

5. 测试结果

1.数据0,0;0,0;

2.数据 3.1,0;4.22,8.9;

3. 数据 -1.33,2.34;0.1,-6.5;

4.数据 0,9.7;-2.1 -9.7;

5. 数据 7.7,-8;-7.7,0;

你可能感兴趣的:(使用c语言实现复数运算的程序)