导航:首页 > 编程语言 > 阿尔法编程c语言复数的运算

阿尔法编程c语言复数的运算

发布时间:2022-09-01 10:14:03

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

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>
#defineERR-1
#defineMAX100/*定义堆栈的大小*/
intstack[MAX];/*用一维数组定义堆栈*/
inttop=0;/*定义堆栈指示*/
intpush(inti)/*存储运算数,入栈操作*/
{
if(top<MAX)
{
stack[++top]=i;/*堆栈仍有空间,栈顶指示上移一个位置*/
return0;
}
else
{
printf("Thestackisfull");
returnERR;
}
}
intpop()/*取出运算数,出栈操作*/
{
intvar;/*定义待返回的栈顶元素*/
if(top!=NULL)/*堆栈中仍有元素*/
{
var=stack[top--];/*堆栈指示下移一个位置*/
returnvar;/*返回栈顶元素*/
}
else
printf("Thestackisempty! ");
returnERR;
}
voidmain()
{
intm,n;
charl;
inta,b,c;
intk;
do{
printf(" AriothmaticOperatesimulator ");/*给出提示信息*/
printf(" Pleaseinputfirstnumber:");/*输入第一个运算数*/
scanf("%d",&m);
push(m);/*第一个运算数入栈*/
printf(" Pleaseinputsecondnumber:");/*输入第二个运算数*/
scanf("%d",&n);
push(n);/*第二个运算数入栈*/
printf(" Chooseoperator(+/-/*//):");
l=getche();/*输入运算符*/
switch(l)/*判断运算符,转而执行相应代码*/
{
case'+':
b=pop();
a=pop();
c=a+b;
printf(" Theresultis%d ",c);
printf(" ");
break;
case'-':
b=pop();
a=pop();
c=a-b;
printf(" Theresultis%d ",c);
printf(" ");
break;
case'*':
b=pop();
a=pop();
c=a*b;
printf(" Theresultis%d ",c);
printf(" ");
break;
case'/':
b=pop();
a=pop();
c=a/b;
printf(" Theresultis%d ",c);
printf(" ");
break;
}
printf(" Continue?(y/n):");/*提示用户是否结束程序*/
l=getche();
if(l=='n')
exit(0);
}while(1);
}

‘贰’ 用c语言编写程序:输入两个复数,计算并输出它们的和及乘积

输入两个复数,计算并输出它们的和及乘积c语言编写:

#include<stdio.h>

#include<math.h>

void main()

{ int i1,i2,j1,j2;

int sum(int i1,int i2,int j1,int j2);

int mul(int i1,int i2,int j1,int j2);

printf("请输入第一个复数的实部和虚部:");

scanf("%d %d",&i1,&i2);

printf("请输入第二个复数的实部和虚部:");

scanf("%d %d",&j1,&j2);

sum(i1,i2,j1,j2);

mul(i1,i2,j1,j2);

}

int sum(int i1,int i2,int j1,int j2)

{

int i,j;

i=i1+j1;

j=i2+j2;

printf("两复数的和为:%d+%di ",i,j);

return 0;

}

int mul(int i1,int i2,int j1,int j2)

{

int i,j;

i=i1*j1-i2*j2;

j=i2*j1+i1*j2;

printf("两复数的积为:%d+%di ",i,j);

return 0;

}

‘叁’ 数据结构c语言复数运算

1、首先打开vc6.0, 新建一个项目。

‘肆’ C语言中复数的运算怎么实现

C语言的话,C99标准是支持复数运算的.需要包含头文件complex.h,
里面几乎包含了所有复数计算会用到的基本初等函数, 比如三角函数,幂函数,对数函数等等.

gcc是个常见的支持C99标准的编译器,

‘伍’ C语言函数题 复数的运算

定义成结构体 实部和虚部分别定义成double,然后在自己定义运算……
如果是C++的话,可以重载+、-、*、\操作符的方式

‘陆’ 用c语言 如何编写两个复数的运算啊 都含有虚部 谢谢啊

定义一个struct作为复数,然后分别定义加减剩除运算。可以增加一个函数printcomplex来在主函数中以数学的形式输出复数。
typedef struct complex
{
double real; //实部
double image; //虚部
} COMPLEX;

COMPLEX add(COMPLEX a,COMPLEX b) //加法
{
COMPLEX sum;
sum.real = a.real+b.real;
sum.image = a.image+b.image;
return sum;
}

COMPLEX sub(COMPLEX a,COMPLEX b) //减法
{
COMPLEX diff;
diff.real = a.real-b.real;
diff.image = a.image-b.image;
return diff;
}

COMPLEX mul(COMPLEX a,COMPLEX b) //乘法
{
COMPLEX acc;
acc.real = a.real*b.real-a.image*b.image;
acc.image = a.real*b.image+a.image*b.real;
return acc;
}

COMPLEX divi(COMPLEX a,COMPLEX b) //除法
//除法去分母可以转换为乘法
{
COMPLEX quo;
double den = b.real*b.real+b.image*b.image; //分母
/* 先判断除数是否为0,因为均为double型,所以不能 直接与0作比较,而要用绝对值是否小于某个极小值e(读伊夫西龙???)来判断是否为0,这里取e=10e-10 */
if ((abs(b.real)<10e-10) && (abs(b.image)<10e-10))
{
printf("Divivd by Zero");
exit(0); //强制退出程序
}

quo.real = a.real*b.real+a.image*b.image;
quo.real /= den;
quo.image = a.image*b.real+a.real*b.image;
quo.image /= den;
return quo;
}

void printcom(COMPLEX a) //输出复数a
{
printf("%lf+%lfi",a.real,a.image);
}

‘柒’ 如何用c语言编一个复数的四则运算的程序(完整版的,能运行的)

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);
}

‘捌’ 数据结构课程:用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>
#defineERR-1
#defineMAX100/*定义堆栈的大小*/
intstack[MAX];/*用一维数组定义堆栈*/
inttop=0;/*定义堆栈指示*/
intpush(inti)/*存储运算数,入栈操作*/
{
if(top<MAX)
{
stack[++top]=i;/*堆栈仍有空间,栈顶指示上移一个位置*/
return0;
}
else
{
printf("Thestackisfull");
returnERR;
}
}
intpop()/*取出运算数,出栈操作*/
{
intvar;/*定义待返回的栈顶元素*/
if(top!=NULL)/*堆栈中仍有元素*/
{
var=stack[top--];/*堆栈指示下移一个位置*/
returnvar;/*返回栈顶元素*/
}
else
printf("Thestackisempty! ");
returnERR;
}
voidmain()
{
intm,n;
charl;
inta,b,c;
intk;
do{
printf(" AriothmaticOperatesimulator ");/*给出提示信息*/
printf(" Pleaseinputfirstnumber:");/*输入第一个运算数*/
scanf("%d",&m);
push(m);/*第一个运算数入栈*/
printf(" Pleaseinputsecondnumber:");/*输入第二个运算数*/
scanf("%d",&n);
push(n);/*第二个运算数入栈*/
printf(" Chooseoperator(+/-/*//):");
l=getche();/*输入运算符*/
switch(l)/*判断运算符,转而执行相应代码*/
{
case'+':
b=pop();
a=pop();
c=a+b;
printf(" Theresultis%d ",c);
printf(" ");
break;
case'-':
b=pop();
a=pop();
c=a-b;
printf(" Theresultis%d ",c);
printf(" ");
break;
case'*':
b=pop();
a=pop();
c=a*b;
printf(" Theresultis%d ",c);
printf(" ");
break;
case'/':
b=pop();
a=pop();
c=a/b;
printf(" Theresultis%d ",c);
printf(" ");
break;
}
printf(" Continue?(y/n):");/*提示用户是否结束程序*/
l=getche();
if(l=='n')
exit(0);
}while(1);
}

‘玖’ C语言中复数的运算怎么实现

这个是一个列子,可以参考下
struct complex{
float rmz; //实部
float lmz;//虚部
};
//产生一个复数.
complex getAComplex(float a,float b){
complex Node=new complex();
Node.rmz=a;
Node.lmz=b;
return Node;}
//两个复数求和
complex addComplex(complex complex1,complex complex2)
{
complex Node=new complex();
Node.rmz=complex1.rmz+complex2.rmz;

‘拾’ c语言负数运算

/*
c语言复数运算
*/
#include<stdio.h>
#include<stdlib.h>
typedefstruct
{
doubler,i; //r为实部,i为虚部

}complex;

complex*add(complex*a,complex*b);//复数a+复数b
complex*minus(complex*a,complex*b); //复数a-复数b
complex*multiply(complex*a,complex*b);//复数a*复数b
voidprintComplex(complex*a);//输出
complex*add(complex*a,complex*b){
complex*add;
add->r=a->r+b->r;
add->i=a->i+b->i;
returnadd;
}
complex*minus(complex*a,complex*b)
{
complex*minus;
minus->r=a->r-b->r;
minus->i=a->i-b->i;
returnminus;
}
complex*multiply(complex*a,complex*b)
{
complex*multiply;
multiply->r=a->r*b->r-a->i*b->i;
multiply->i=a->i*b->r+a->r*b->i;
returnmultiply;
}
voidprintComplex(complex*a)//输出要注意虚部有负数的情况
{
if(a->r!=0)
printf("%.2lf",a->r); //不要断行,先输出实部
else
printf("0.00");
if(a->i>0) //大于0,正常输出+虚部
printf("+%.2lfi ",a->i);
elseif(a->i<0) //虚部是负数,不用输出+号了,直接输出负数
printf("%.2lfi ",a->i);
else
printf("+0.00i ");//虚部为0
}

帮你改了下,再去试试吧。一时之间我也想不出还有什么漏洞了。祝好运。如果是自己写主函数的话,改一改那个输入吧,输入很容易会造成问题的

这一句: scanf("...%f %c ",...,c),一个不好输入就会出错,c可能会获取到空白。

阅读全文

与阿尔法编程c语言复数的运算相关的资料

热点内容
用纸做解压玩具不用浇水 浏览:582
谷轮压缩机序列号 浏览:734
牛顿插值法编程 浏览:364
php多用户留言系统 浏览:727
安卓和苹果如何切换流量 浏览:703
怎么知道dns服务器是多少 浏览:976
5995用什么简便算法脱式计算 浏览:918
电脑上如何上小米云服务器地址 浏览:921
手机资料解压密码 浏览:444
44引脚贴片单片机有哪些 浏览:692
阿里程序员脑图 浏览:189
广东编程猫学习班 浏览:708
上海数控编程培训学校 浏览:313
怎么下载我的解压神器 浏览:634
lib文件无用代码会编译吗 浏览:28
我的世界嗨皮咳嗽服务器怎么下 浏览:1002
mvn命令顺序 浏览:978
车贷还完多少时间解压 浏览:964
java页面开发 浏览:820
学编程的小发明 浏览:25