c语言函数复数运算 c语言复数运算代码

C语言写的计算器中如何加入复数的运算?复数需使用结构体 。
struct
complex{
int
a;
int
b;
};
所以如果需要扩充你的程序你就将所有函数传递的参数和返回的类型都改成结构体 。
然后实数运算只是用结构体中的实数部分a,复数运算是用实数a和虚数b 。
c语言复数四则运算我们设计一个可进行复数运算的演示程序 。要求实现下列六种基本运算
:1)由输入的实部和虚部生成一个复数
;2)两个复数求和;
3)两个复数求差;
4)两个复数求积,
5)从已知复数中分离出实部;
6)从已知复数中分离出虚部 。
运算结果以相应的复数或实数的表示形式显示(最好用结构体的方法)
要是能用c和stl,可以这样写#include complex#include iostreamvoid main(){using namespace std;complexdouble a(3, 2);complexdouble b(5, 6);complexdouble result(0,0);result = a*b/(a b);coutresult;}
下面是具体的操作:
stdio.h
#includeconio.h
#includestdlib.h
#define ERR -1
#define MAX 100 /*定义堆栈的大小*/
int stack[MAX]; /*用一维数组定义堆栈*/
int top=0; /*定义堆栈指示*/
int push(int i) /*存储运算数,入栈操作*/
{
if(topMAX)
{
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);
}
C语言函数题 复数的运算定义成结构体 实部和虚部分别定义成double,然后在自己定义运算……
如果是C的话 , 可以重载 、-、*、\操作符的方式
【c语言函数复数运算 c语言复数运算代码】关于c语言函数复数运算和c语言复数运算代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读