数据结构课程:用C语言编写复数的四则运算

要求能够读取复数实部和虚部,并输出。若分别输入两个复数的实部和虚部则要求程序能够将两个复数的加减乘除结果分别输出即可。

设计一个可进行复数运算的演示程序。要求实现下列六种基本运算
:1)由输入的实部和虚部生成一个复数
;2)两个复数求和;
3)两个复数求差;
4)两个复数求积,
5)从已知复数中分离出实部;
6)从已知复数中分离出虚部。
运算结果以相应的复数或实数的表示形式显示(最好用结构体的方法)
要是能用c++和stl,可以这样写#include <complex>#include <iostream>void main(){ using namespace std; complex<double> a(3, 2); complex<double> b(5, 6); complex<double> result(0,0); result = a*b/(a+b); cout << result;}
下面是具体的操作:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define ERR -1
#define MAX 100 /*定义堆栈的大小*/
int stack[MAX]; /*用一维数组定义堆栈*/
int top=0; /*定义堆栈指示*/
int push(int i) /*存储运算数,入栈操作*/
{
if(top<MAX)
{
stack[++top]=i; /*堆栈仍有空间,栈顶指示上移一个位置*/
return 0;
}
else
{
printf("The stack is full");
return ERR;
}
}
int pop() /*取出运算数,出栈操作*/
{
int var; /*定义待返回的栈顶元素*/
if(top!=NULL) /*堆栈中仍有元素*/
{
var=stack[top--]; /*堆栈指示下移一个位置*/
return var; /*返回栈顶元素*/
}
else
printf("The stack is empty!\n");
return ERR;
}
void main()
{
int m,n;
char l;
int a,b,c;
int k;
do{
printf("\tAriothmatic Operate simulator\n"); /*给出提示信息*/
printf("\n\tPlease input first number:"); /*输入第一个运算数*/
scanf("%d",&m);
push(m); /*第一个运算数入栈*/
printf("\n\tPlease input second number:"); /*输入第二个运算数*/
scanf("%d",&n);
push(n); /*第二个运算数入栈*/
printf("\n\tChoose operator(+/-/*//):");
l=getche(); /*输入运算符*/
switch(l) /*判断运算符,转而执行相应代码*/
{
case '+':
b=pop();
a=pop();
c=a+b;
printf("\n\n\tThe result is %d\n",c);
printf("\n");
break;
case '-':
b=pop();
a=pop();
c=a-b;
printf("\n\n\tThe result is %d\n",c);
printf("\n");
break;
case '*':
b=pop();
a=pop();
c=a*b;
printf("\n\n\tThe result is %d\n",c);
printf("\n");
break;
case '/':
b=pop();
a=pop();
c=a/b;
printf("\n\n\tThe result is %d\n",c);
printf("\n");
break;
}
printf("\tContinue?(y/n):"); /*提示用户是否结束程序*/
l=getche();
if(l=='n')
exit(0);
}while(1);
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-26
#include<stdio.h>
void main()
{
float r1,v1,r2,v2;
printf("复数1\n");
printf("实部:\n");scanf("%f",&r1);
printf("虚部:\n");scanf("%f",&v1);
printf("复数2\n");
printf("实部:\n");scanf("%f",&r2);
printf("虚部:\n");scanf("%f",&v2);
printf("和\n");
printf("%f + %f i\n",r1+r2,v1+v2);
printf("差\n");
printf("%f + %f i\n",r1-r2,v1-v2);
printf("积\n");
printf("%f + %f i\n",r1*r2-v1*v2,v1*r2+r1*v2);
printf("商\n");
printf("%f + %f i\n",(r1*r2+v1*v2)/(r2*r2+v2*v2),(v1*r2-r1*v2)/(r2*r2+v2*v2));
}本回答被提问者采纳

用C语言数据结构编写程序实现 复数四则运算
复数的加、减、乘、除、平方、自动转换为整形求模都可以实现,要的话给个邮箱发给你,程序太大,粘贴不了。程序发过去了,接受一下吧

C语言怎么实现四则运算
我曾用c编了个计算器,支持四则运算,支持括号改变优先级,你看看吧:include <stdio.h> include <string.h> include <stdlib.h> include <conio.h> define Esc 27 define Tab 9 void needle(char* s,char* carriage,int start)\/\/needle意为“用针缝”{ int size_carriage=(int)strlen(carriage)...

用C语言编程实现一个简单的四则运算计算器
\/\/函数,读数操作数 int getNextNum(){ int ret;scanf("%d",&ret);return ret;} \/\/函数,读运算符 char getOpt(){ return getchar();} \/\/函数,计算 int caculate(int op1 , int op2 ,char opt){ if(opt=='+')return op1+op2;if(opt=='-')return op1-op2;if(opt=='*')retur...

复数四则运算 数据结构
课程名称:数据结构 班级:xxxx 实验成绩:指导老师:××× 姓名:xxx 实验项目名称:复数四则运算 学号:2005810112 上机实践日期:实验项目编号:实验一 组号: 上机实践时间:学时 一. 目的(本次试验所涉及并要求掌握的知识点)熟悉抽象数据类型的表示和实现方法。抽象数据类型需借助固...

数据结构中的复数的四则运算我想问下我编的程序错在哪里?
typedef struct complex(){ float rpart;float ipart;};应改为 typedef struct complex(){ float rpart;float ipart;}complex;

跪求。。数据结构 任意整数的四则运算
include <ctype.h> char str1[1024] = {0};char sign = 0;struct node { int num;struct node* next;};struct node* head1;struct node* head2;struct node* head3;void InitList(){ head1 = (struct node*)malloc(sizeof(struct node));head1->num=0;head1->next=NULL;head2 =...

四则运算(C语言),
char *f : 运算符数组 double *s: 数值数组 int p: 当前运算符数组位置。返回参数:无 功能:将当前已经完成运算的运算符消去,同时将数值数组的位置调整以进行下一次运算。传入值p若为3 则当前符号的数组位置为3.f[3]=f[3+1]...f[len-2]=f[len-1] f[len-1]='\\0';s[i]=s[i...

...问题描述 实现大整数(200位以内的整数)的加、减、乘、除运算...
大整数计数器1.问题描述实现大整数(200位以内的整数)的加、减、乘、除运算。2.设计要求设计程序实现两个大整数的四则运算,输出这两个大整数的和、差、积、商及余数。3.数据结构本课... 大整数计数器1. 问题描述实现大整数(200位以内的整数)的加、减、乘、除运算。2. 设计要求设计程序实现两个大整数的四...

复数四则运算最后不能进行,郁闷,那里错了???
, getreal(add(q1,q2)),getimage(add(q1,q2)),);printf("两复数的差为%f+%fi\\n" ,getreal(minus(q1,q2)),getimage(minus(q1,q2)),);printf("两复数的积为%f+%fi\\n", getreal(multiply(q1,q2)),getimage(multiply(q1,q2)),);我电脑没软件调试,不保证对啊 ...

用C语言设计能够完成多步四则运算的程序
1.可以实现连续的四则运算 2.可以实现输入式子的显示 3.可以方便计算个人所得税 4.鼠标、键盘均可输入数据 5.操作界面友好 6.击键可发声 构建该个计算器所需研究及解决的核心问题有如下几个:1、连乘求值?2、字符显示 3、键盘输入?4、击键发声?5、个人所得税法规,为了使大家对程序有更一...

相似回答