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