- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言复数的运算实验报告
实验报告
题目:复数的四则运算
班级: 13信管 姓名:白浩然 学号:201340403034 完成日期:2014.05.21
一、需求分析
1.本演示程序中复数由两个相互之间存在次序关系的实数构成。
2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和运算结果显示在其后。
3.程序执行的命令包括:
1)由输入的实部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。
4.测试数据:
1)构造复数:
复数求和:
复数求差:
复数求积:
提取实部:
提取虚部:
编码实现
#include stdio.h
#include stdlib.h
struct complex{
float 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 SubComplex(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 ImagComplex(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);
InitComplex(c,r1,r2);
printf(构造的复数为:%f+%fi\n,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+%fi\n,c.real,c.imag);
break;
case 3:printf(输入c1的实部和虚部:\n);
scanf(%f %f,r11,r12);
InitComplex(c1,r11,r12);
printf(输入c2的实部和虚部:\n);
scanf(%f %f,r21,r22);
InitComplex(c2,r21,r22);
SubComplex(c,c1,c2);
printf(结果为:%f+%fi\n,c.real,c.imag);
break;
case 4:printf(输入c1的实部和虚部:\n);
scanf(%f %f,r11,r12);
InitComplex(c1,r11,r12);
printf(输入c2的实部和虚部:\n);
sc
您可能关注的文档
- chp9机械振动.ppt
- CIE技术报告1362000号出版物城区照明指南续完.pdf
- chen第四章有机反应中的活性中间体.ppt
- Chrome开发工具使用时间轴.pdf
- cin与cout的用法.pdf
- CJA475170冲击式转轮裂纹原因分析.pdf
- CJF15型冲击反循环工程钻机试验性应用.pdf
- CJW2000A型荧光磁粉探伤检测线.doc
- cjx21810交流接触器.pdf
- CJX22510交流接触器.pdf
- FAIR 数据共享指导原则详解 _ 【官网】探码科技.pdf
- 非结构化数据管理与 AI Ready 数据准备白皮书预览版 _ Baklib.pdf
- 广东省惠阳市马安中学2023-2024学年中考数学五模试卷含解析.doc
- 广东省广州四中学2023-2024学年中考三模数学试题含解析.doc
- 广东省东莞市虎门汇英校2024年中考联考数学试题含解析.doc
- 广东省佛山市顺德区市级名校2023-2024学年中考数学适应性模拟试题含解析.doc
- 广东省高州市九校联考2024年毕业升学考试模拟卷数学卷含解析.doc
- 广东省东莞市五校2024届中考数学仿真试卷含解析.doc
- 广东省惠州光正实验2023-2024学年中考数学适应性模拟试题含解析.doc
- 广东省东莞市中学堂星晨校2024届中考联考数学试卷含解析.doc
文档评论(0)