如何用c语言编一个复数的四则运算

如何用c语言编一个复数的四则运算... 如何用c语言编一个复数的四则运算 展开
 我来答
tattackor
2015-11-01 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:858万
展开全部

1、设计一个可进行复数运算的演示程序。要求实现下列六种基本运算
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;}
2、例程:

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);
}
jxsqh
2011-04-09
知道答主
回答量:14
采纳率:0%
帮助的人:7.5万
展开全部
创建一个结构体,分为实部和虚部两个成员。进行运算法时,利用成员变量进行做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wo4wuhuiting
2011-04-08 · TA获得超过457个赞
知道小有建树答主
回答量:155
采纳率:100%
帮助的人:121万
展开全部
创建一个包含两个元素的结构体,分别为复数的实部和虚部,运算时再按照相应的运算法则计算就可以了…
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9d824ea
2011-04-08 · TA获得超过222个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:156万
展开全部
这个不是很简单吗,你把加减乘除分别写成四个子函数,然后用CASE也可以,就OK了阿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户88921
2011-04-09 · TA获得超过347个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:0
展开全部
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));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式