c语言复数的运算实验报告,C语言复数的运算(实验报告).doc

实验报告

题目:复数的四则运算

班级: 13信管 姓名:白浩然 学号:201340403034 完成日期:2014.05.21

一、需求分析

1.本演示程序中复数由两个相互之间存在次序关系的实数构成。

2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和运算结果显示在其后。

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

1)由输入的实部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。

4.测试数据:

1)构造复数:

2) 复数求和:

3) 复数求差:

4) 复数求积:

5) 提取实部:

6) 提取虚部:

2、 编码实现

#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");

scanf("%f %f",&r21,&r22);

InitComplex(c2,r21,r22);

MulComplex(c,c1,c2);

printf("结果为:%f+%fi\n",c.real,c.imag);

break;

case 5:printf("输入复数的实部和虚部:\n");

scanf("%f %f",&r1,&r2);

InitComplex(c,r1,r2);

RealComplex(c,r);

printf("实部为:%f\n",r);

break;

case 6:printf("输入复数的实部和虚部:\n");

scanf("%f %f",&r1,&r2);

InitComplex(c,r1,r2);

ImagComplex(c,r);

printf("虚部为:%f\n",r);

break;

default:printf("结束");

}

scanf("%d",node);

}

}

3、 调试分析

1. 开始时文件后缀写成了“.c”,导致调试多次无法运行,后来改为“.cpp”;

2. 多处“%f”写成了“%d”,导致程序不能正常运行;

3. 定义结构体时,最后一个“}”后忘记加“;”,导致程序出现错误,以后应多加注意。

展开阅读全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么说人工智能是一个大谎言

全世界只有3.14 % 的人关注了数据与算法之美人工智能是一个很大的谎言。或者往轻了说,它是一个混淆概念。往重了说,是用来欺骗大众的流行语,并且流行度非常高。其实真正的内涵是“机器学习”。所以,真正强大的,每个人都…

c语言字符串倒置,单词倒置,用C++实现,将一句话里的单词进行倒置的方法详解

用C语言实现,将一句话中的单词进行倒置(单词之间倒转,单词本身不倒置),标点符号不导致。比如一句话“I come from tianjin. “,倒置后变成“tianjin. from come I ”。C常见的库函数有:复制代码 代码如下:int strstr(…

NET问答: ThreadStatic 和 ThreadLocalT 哪一个更好 ?

咨询区 user2341923&#xff1a;[ThreadStatic] 被设计成特性&#xff0c; ThreadLocal<T> 被设计成泛型&#xff0c;为什么会有这两种设计方案呢 &#xff1f;谁能告诉我他们的优缺点各是什么&#xff1f;是不是泛型的方式更好一点&#xff1f;回答区 Sanjeev&#xff1…

指针变量的定义与引用

2019独角兽企业重金招聘Python工程师标准>>> void main() { int a 5,b3; int *p; p &a; b*P5; printf("%d\n", b); *p 4; printf("%d,%d\n",a,*p); } 输出结果&#xff1a;10 4 4 之前在学校的时候就没怎么搞懂&#xff0c; 现在…

Vim的配置

2019独角兽企业重金招聘Python工程师标准>>> set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set guifontCourier_New:h12cANSI colorscheme torte set nobackup set ts4 set lines33 columns100 set diffexprM…

WPF 命中测试HitTest

获取不规则图片的点击事件&#xff0c;如果一个Canvas中&#xff0c;有很多图形&#xff0c;比如下图&#xff1a;矩形&#xff0c;菱形等。如果每个图形都加一个点击事件&#xff0c;想要一个通用的方法&#xff0c;获取鼠标点击在了哪个图形上&#xff0c;这里可以使用Visual…

不足百元的乐高式积木,玩转数理机械原理

▲数据汪特别推荐点击上图进入玩酷屋作为一名资深积木达人&#xff0c;小木我可是大大小小的积木阅览无数&#xff0c;当然乐高也不会放过&#xff0c;虽然“钱包君”已经是路人了。&#xff08;每月的工资用来买乐高~&#xff09;之前给大家推荐了一款STEM积木&#xff0c;小小…

WPF 密码框水印与明文切换

WPF开发者QQ群&#xff1a; 340500857 欢迎转发、分享、点赞、在看&#xff0c;谢谢~。 效果预览&#xff08;更多效果请下载源码体验&#xff09;&#xff1a;一、PasswordWithPlainText.xaml 代码如下<UserControl x:Class"WpfPasswrod.CustomControls.PasswordWith…

Linux配置sudo

检查是否已经安装sudo [rootlocalhost ~]# ls -l whereis sudo---s--x--x. 2 root root 186800 Sep 1 2010 /usr/bin/sudo-rw-r--r--. 2 root root 11296 Sep 1 2010 /usr/share/man/man8/sudo.8.gz若没安装,自行下载rpm或者源码进行安装增加配置 允许rhel 不输入密码就 s…

麻省理工学院迷你猎豹机器人,四条腿都能后空翻了,又是黑科技啊~

全世界只有3.14 % 的人关注了数据与算法之美麻省理工学院公布了一款迷你猎豹机器人&#xff0c;是第一个做后空翻的四足机器人。只有20磅的四肢四足动物可弯曲并摆动腿部&#xff0c;使其能够向右或向上行走。机器人也可以在不平坦的地形上小跑&#xff0c;大约是普通人行走速度…

c语言宏高级用法,C语言宏高级用法 [总结]

1、前言今天看代码时候&#xff0c;遇到一些宏&#xff0c;之前没有见过&#xff0c;感觉挺新鲜。如是上网google一下&#xff0c;顺便总结一下&#xff0c;方便以后学习和运用。C语言程序中广泛的使用宏定义&#xff0c;采用关键字define进行定义&#xff0c;宏只是一种简单的…

Win 11 真的要来了!微软宣布 Win10 将于 2025 年终止支持!

微软今日正式更新支持页面&#xff0c;Windows 10 家庭版和专业版的支持将于 2025 年 10 月 14 日结束。值得注意的是&#xff0c;这是微软首次描述对 Windows 10 的支持结束&#xff0c;在此之前&#xff0c;微软仅记录了特定的 Windows 10 正式版本&#xff08;如最新的 Wind…

每日一笑 | 为什么椅子总是最乱的?

全世界只有3.14 % 的人关注了数据与算法之美&#xff08;图片来源于网络&#xff0c;侵权删&#xff09;

js 操作cookies 方法

js 操作cookies 方法var str""; //JS操作cookies方法! //Expires 设置Cookie的有效期限 //Domain 添加域名限制 //Path 添加路径限制 //写cookies function setCookie(name,value){var Days30;//过期时间30天var datenew Date(); date.setTime(date.getTime()Day…

51单片机除c语言 中断嵌套,关于51系列单片机中断嵌套 - 关于单片机中断嵌套总结...

关于51系列单片机中断嵌套说最基本的&#xff0c;老的51单片机(80C51系列)有5个中断源&#xff0c;2个优先级&#xff0c;可以实现二级中断服务嵌套。现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了。在说到中断之前&#xff0c;我先来定义一下优先级&#xf…

R,让你的数据分析更简便!

R语言被广泛应用于生物、医学、电商、新闻等数据相关行业&#xff0c;是目前主流数据应用软件之一。它是用来进行统计分析、绘图和统计编程的强大工具&#xff0c;它在大规模的数据挖掘、可视化和报告方面已经取得了巨大的成功。你能够轻松地获取各种的包&#xff08;通过 CRAN…

NET问答: 如何实现读写 file 的时候不用锁模式 ?

咨询区 Homam&#xff1a;我先说一下我的顾虑&#xff0c;是这样的&#xff0c;我有一个 windows service 服务在不断的写入日志&#xff0c;同时我还有个看板程序在不断的获取 windows service 程序写入的日志。问题是&#xff1a;service 程序在写日志的时候会 lock 文件&…

c语言基类型,C语言基本类型边界值

以int为例&#xff0c;不同电脑int位数不同&#xff0c;以64位电脑为例&#xff0c;int占4字节&#xff0c;及 4*8 32位bit&#xff0c;int 是带有符号的整形&#xff0c;所以第一位表示符号&#xff0c;则int边界值为 2^31 - 1。其他类型参考代码&#xff1a;#include #inclu…

久坐伤腰!这款德国3D美臀坐垫,分散身体压力,保护腰椎尾椎。

▲数据汪特别推荐点击上图进入玩酷屋一直听闻德国是一个「直肠子」国家他们的严谨、认真、一丝不苟让这个只有8000万人口的国家竟有2300多个享誉全球的名牌小到牙刷牙线&#xff0c;大到汽车「德国制造」已成为高品质的代名词德国品质到底是一种怎样的存在&#xff1f;德国人生…

C sharp实例:华盾武器门数据接收和解析

项目介绍&#xff1a;本实例主要是接收安检金属门的数据解析并显示到界面上&#xff0c;只做功能实现&#xff0c;不做界面美化硬件&#xff1a;金属门一个、网线一根、电脑主机&#xff0c;金属门网线可以直接接到电脑主机上开发环境&#xff1a;vs2017 系统&#xff1a;win10…