c语言中如何定义一个复数型数组

c语言中如何定义一个复数型数组,第1张

首先加入头文件:

#include

<complex>

然后进行复数类型定义:

typedef

complex<float>

Comp;//这里double也可

这样就可以使用复数结构了

如:声明复数数组

Comp

a[5];

#include<stdioh>

void main()

{

float a1,a2,b1,b2,r1,r2;/a1,b1为两复数实部,a2,b2为虚部/

printf("please input the number:(RE IM)\n");

scanf("%f%f%f%f",&a1,&a2,&b1,&b2);

r1=a1b1-a2b2;

r2=a1b2+a2b1;

printf("RE:%f\tIM:%f",r1,r2);

}

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 = ab/(a+b); cout << result;}

2、例程:

stdioh>

#include<conioh>

#include<stdlibh>

#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=ab;

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语言编写:

#include<stdioh>

#include<mathh>

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\n",i,j);

return 0;

}

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

{

int i,j;

i=i1j1-i2j2;

j=i2j1+i1j2;

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

return 0;

}

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的DMRitchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

C语言基本特性:

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。

2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种 *** 作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件 *** 作的场合,优于其它高级语言。

4、使用指针:可以直接进行靠近硬件的 *** 作,但是C的指针 *** 作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针 *** 作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针 *** 作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。

两个问题

else后面两句需要用大括弧括起来

后面再加上break;退出循环

也就是这样:

else//其他情况直接加s

 {

  str[i]='s';

  str[i+1]='\0';

 }

 break;

以上就是关于c语言中如何定义一个复数型数组全部的内容,包括:c语言中如何定义一个复数型数组、用C语言编写一个程序实现复数乘法、如何用c语言编一个复数的四则运算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9759412.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存