运用C语言编写复数的四则运算.docx

上传人:b****7 文档编号:9060027 上传时间:2023-02-03 格式:DOCX 页数:11 大小:89.42KB
下载 相关 举报
运用C语言编写复数的四则运算.docx_第1页
第1页 / 共11页
运用C语言编写复数的四则运算.docx_第2页
第2页 / 共11页
运用C语言编写复数的四则运算.docx_第3页
第3页 / 共11页
运用C语言编写复数的四则运算.docx_第4页
第4页 / 共11页
运用C语言编写复数的四则运算.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

运用C语言编写复数的四则运算.docx

《运用C语言编写复数的四则运算.docx》由会员分享,可在线阅读,更多相关《运用C语言编写复数的四则运算.docx(11页珍藏版)》请在冰豆网上搜索。

运用C语言编写复数的四则运算.docx

运用C语言编写复数的四则运算

运用C语言编写复数的四则运算

1、需求分析

1.设计一个可进行复数运算的演示程序

2.实现下列六种基本运算:

(1)由于输入的实部和虚部生成一个复数;

(2)两个复数求和;(3)两个复数求差;(4)两个复数求积;(5)从已知复数中分离出虚精品文档,你值得期待

部。

运算结果一相应的复数或实数的表示形式显示。

3.程序执行的命令包括:

a.输入数据生成一个复数

b.求复数和

c.求复数差

d.求复数积

4.

(1)建立一个复数,然后根据提示用户输入两个复数,使得能同时进行两个复数的加.减.乘运算。

(2)输入形式和输入值得范围:

分别输入两个复数,其格式为:

a+bi用enter结束输入。

(3)输出形式:

按程序规定输出其运算值。

如:

运算后只有实数时只输出实数虚部部分不表示,反之一样

5.测试程序

(1)0,0;0,0;应输出“0”

(2)3.1,0;4.22,8.9;应输出“7.32+i8.9”

(3)-1.33,2.34;0.1,-6.5;应输出“-1.23-i4.16”

(4)0,9.7;-2.1,-9.7;应输出“-2.1”

(5)7.7,-8;-7.7,0;应输出“-i8”

2.概要分析

1.为实现上述程序的功能,需要定义一个表示复数的抽象数据类型。

2.本程序包含的函数:

(1)主函数main();

(2)构造函数typedefstruct();

(3)调用函数ComplexcreateComplex(floata,floatb)

Complexadd(Complexz1,Complexz2)

Complexjian(Complexz1,Complexz2)

Complexcheng(Complexz1,Complexz2)

voidprintComplex(Complexz);

各函数关系如下:

(5)主函数伪代码

main()

{

说明一个构造函数Complex;

定义两个实数和虚数分别为z1,z2;

提示输入实数和虚数z1,z2;

调用子函数;

提示输入+-*;

根据输入的符号判断输入的复数做何运算

{

输入+时,调用加法子函数,打印输出;

输入-时,调用加法子函数,打印输出;

输入*时,调用加法子函数,打印输出;

}

}

3.详细设计

1.主函数及其他函数

#include

#include

typedefstruct

{

floatre;

floatim;

}Complex;

ComplexcreateComplex(floata,floatb)//编写一个函数生成复数//

{

Complexz;

z.re=a;

z.im=b;

returnz;

}

voidprintComplex(Complexz)//输出复数并控制其格式//

{

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

printf("0\n");

elseif(z.re!

=0&&z.im==0)

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

elseif(z.re==0&&z.im!

=0)

{

if(z.im>0)

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

elseif(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));

}

}

Complexadd(Complexz1,Complexz2)

{

Complexz;

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

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

returnz;

}

Complexjian(Complexz1,Complexz2)

{

Complexz;

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

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

returnz;

}

Complexcheng(Complexz1,Complexz2)

{

Complexz;

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

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

returnz;

}

main()

{

floata,b,c,d;

Complexz1,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;

 

X

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1