c语言复数的运算(实验报告)

上传人:自*** 文档编号:80471811 上传时间:2019-02-19 格式:DOC 页数:7 大小:289.80KB
返回 下载 相关 举报
c语言复数的运算(实验报告)_第1页
第1页 / 共7页
c语言复数的运算(实验报告)_第2页
第2页 / 共7页
c语言复数的运算(实验报告)_第3页
第3页 / 共7页
c语言复数的运算(实验报告)_第4页
第4页 / 共7页
c语言复数的运算(实验报告)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《c语言复数的运算(实验报告)》由会员分享,可在线阅读,更多相关《c语言复数的运算(实验报告)(7页珍藏版)》请在金锄头文库上搜索。

1、实验报告题目:复数的四则运算班级: 13信管 姓名:白浩然 学号:201340403034 完成日期:2014.05.21 一、需求分析1本演示程序中复数由两个相互之间存在次序关系的实数构成。2演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和运算结果显示在其后。3程序执行的命令包括:1)由输入的实部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。4.测试数据:1)构造复数:2) 复数求和:3) 复数求差:4) 复数求积:5)

2、提取实部:6) 提取虚部:2、 编码实现#include stdio.h#include stdlib.hstruct complexfloat real;/实部float imag;/虚部;/构造复数void InitComplex(complex &c,float r1,float r2)c.real=r1;/r1为实部c.imag=r2;/r2为虚部/复数求和void AddComplex(complex &c,complex c1,complex c2)c.real=c1.real+c2.real;/实部相加c.imag=c1.imag+c2.imag;/虚部相加/复数求差void S

3、ubComplex(complex &c,complex c1,complex c2)c.real=c1.real-c2.real;/实部相减c.imag=c1.imag-c2.imag;/虚部相减/复数求积void MulComplex(complex &c,complex c1,complex c2)c.real=(c1.real*c2.real)-(c1.imag*c2.imag);c.imag=(c1.real*c2.imag)+(c2.real*c1.imag);/分离实部void RealComplex(complex c,float &r)r=c.real;/分离虚部void I

4、magComplex(complex c,float &r)r=c.imag;/主程序void main()complex c,c1,c2;float r,r1,r2,r11,r22,r12,r21;int node;printf(请输入要操作的序号:n);printf(1.构造一个复数 2.两个复数求和 3.两个复数求差n);printf(4.两个复数求积 5.分离出实部 6.分离出虚部n);scanf(%d,&node);while(node!=0)switch(node)case 1:printf(输入复数的实部和虚部:n);scanf(%f %f,&r1,&r2);InitComple

5、x(c,r1,r2);printf(构造的复数为:%f+%fin,c.real,c.imag);break;case 2:printf(输入c1的实部和虚部:n);scanf(%f %f,&r11,&r12);InitComplex(c1,r11,r12);printf(输入c2的实部和虚部:n);scanf(%f %f,&r21,&r22);InitComplex(c2,r21,r22);AddComplex(c,c1,c2);printf(结果为:%f+%fin,c.real,c.imag);break;case 3:printf(输入c1的实部和虚部:n);scanf(%f %f,&r1

6、1,&r12);InitComplex(c1,r11,r12);printf(输入c2的实部和虚部:n);scanf(%f %f,&r21,&r22);InitComplex(c2,r21,r22);SubComplex(c,c1,c2);printf(结果为:%f+%fin,c.real,c.imag);break;case 4:printf(输入c1的实部和虚部:n);scanf(%f %f,&r11,&r12);InitComplex(c1,r11,r12);printf(输入c2的实部和虚部:n);scanf(%f %f,&r21,&r22);InitComplex(c2,r21,r2

7、2);MulComplex(c,c1,c2);printf(结果为:%f+%fin,c.real,c.imag);break;case 5:printf(输入复数的实部和虚部:n);scanf(%f %f,&r1,&r2);InitComplex(c,r1,r2);RealComplex(c,r);printf(实部为:%fn,r);break;case 6:printf(输入复数的实部和虚部:n);scanf(%f %f,&r1,&r2);InitComplex(c,r1,r2);ImagComplex(c,r);printf(虚部为:%fn,r);break;default:printf(结束);scanf(%d,node);3、 调试分析1. 开始时文件后缀写成了“.c”,导致调试多次无法运行,后来改为“.cpp”;2. 多处“%f”写成了“%d”,导致程序不能正常运行;3. 定义结构体时,最后一个“”后忘记加“;”,导致程序出现错误,以后应多加注意。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号