c语言复数
① c语言中定义复数的问题
complex在各个C++标准中定义不一致。如果你是VS2012以上版本,这么用应该没问题,如果较低版本,推荐这样使用:
#include<stdio.h>
#include<complex>
#include<cstdlib>
usingnamespacestd;
intmain()
{
complex<double>cx,cy;
cx=complex<double>(1,3);
cy=complex<double>(1,4);
//doyourthings
return0;
}
② C语言的复数运算
这个书本有参考的啊
③ C语言中复数的运算怎么实现
C语言的话,C99标准是支持复数运算的.需要包含头文件complex.h,
里面几乎包含了所有复数计算会用到的基本初等函数, 比如三角函数,幂函数,对数函数等等.
gcc是个常见的支持C99标准的编译器,
④ 数据结构c语言复数运算
1、首先打开vc6.0, 新建一个项目。
⑤ c语言中如何定义一个复数型数组
首先加入头文件:
#include
<complex>
然后进行复数类型定义:
typedef
complex<float>
Comp;//这里double也可
这样就可以使用复数结构了
如:声明复数数组
Comp
a[5];
⑥ C语言中,复数是什么意思
a+bi这种样式的数,比实数更大的集合
⑦ C语言复数代码
你这些代码很像自然语言,可是编译器都不认识。
⑧ C语言关于复数
#include<stdio.h>
typedefstruct{
floatr;
floati;
}Complex;
ComplexreadComlexNumber(){
Complexn;
printf("Inputrealpart:");
scanf("%f",&n.r);
printf("Inputimaginarypart:");
scanf("%f",&n.i);
returnn;
}
ComplexsumComplex(Complexa,Complexb){
Complexc;
c.r=a.r+b.r;
c.i=a.i+b.i;
returnc;
}
ComplexdiffereneComplex(Complexa,Complexb){
Complexc;
c.r=a.r-b.r;
c.i=a.i-b.i;
returnc;
}
ComplexmultiplyComplex(Complexa,Complexb){
Complexc;
c.i=a.r*b.i+a.i*b.r;
c.r=a.r*b.r-a.i*b.i;
returnc;
}
ComplexdivideComplex(Complexa,Complexb){
Complexc;
c.r=(a.r*b.r+a.i*b.i)/(b.r*b.r+b.i*b.i);
c.i=(a.i*b.r-a.r*b.i)/(b.r*b.r+b.i*b.i);
returnc;
}
voidprintComplex(Complexn){
printf("%.2f+%.2fi",n.r,n.i);
}
intmain(){
Complexa,b,c;
printf("InputComplexnumbera: ");
a=readComlexNumber();
printf("InputComplexnumberb: ");
b=readComlexNumber();
printf("The2Complexa&bis: ");
printComplex(a);printf("and");printComplex(b);
//sum
c=sumComplex(a,b);
printf(" (a+b)=");printComplex(c);
//diff
c=differeneComplex(a,b);
printf(" (a-b)=");printComplex(c);
//multiply
c=multiplyComplex(a,b);
printf(" (a*b)=");printComplex(c);
//divide
c=divideComplex(a,b);
printf(" (a/b)=");printComplex(c);
return0;
}
⑨ 怎样用C语言输入或者输出一个复数详细讲解一下哟.
C语言本身没有复数这个数据类型,但是你可以自己定义:
typedef struct
{
double real; /* 实部 */
double imag; /* 虚部 */
}ComplexNumber;
然后你可以使用ComplexNumber来定义变量,然后用scanf("%f,%f", &cn.real, &cn.imag);这样的语句来输入复数,还可以进行其它任意操作。
⑩ 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;}
下面是具体的操作:
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);
}