當前位置:首頁 » 編程語言 » c語言虛部

c語言虛部

發布時間: 2022-09-07 18:37:01

c語言分離任何復數的實部與虛部

#include<stdio.h>
voidmain()
{

charstr[100]={"23+456i"};
charstr1[50];//存實部
charstr2[50];//存虛部

printf("分離復數%s的實部與虛部 ",str);

for(inti=0;str[i]!='';i++)
{
if(str[i]=='+')
{
str1[i]='';
i++;
for(intj=0;str[i]!='i';j++)
str2[j]=str[i++];
str2[j]='';
break;//取完了就結束循環
}
else
str1[i]=str[i];
}

printf("實部為:%s ",str1);
printf("虛部為:%s ",str2);
}

② 用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語言函數中有實部和虛部,他們是什麼,比如我采了一組正弦電壓信號。想要得到幅值要怎麼弄

實部和虛部的平方和開根號的2倍為半幅值,4倍為全幅值。
4*sqrt(ar[i]*ar[i]+ai[i]*ai[i]);ar是實部,ai是虛部。

④ c語言中輸入形如"1.00+-2.00i"的標准形式虛數 要提取實部和虛部 該如何編譯程序

直接格式化輸入就行了。

#include<stdio.h>
intmain()
{
floata,b;
scanf("%f+%fi",&a,&b);
printf("a=%fb=%f ",a,b);
return0;
}

輸入:1.00+-2.00i
輸出:a=1.000000 b=-2.000000

⑤ C語言在復數內部用浮點數定義其實部和虛部 設計實現復數的+-*/運算的四個函數

給你一個做加法的示例:

#include <stdio.h>

/*定義復數結構體*/

typedef struct
{
double real; /*復數的實部*/
double image; /*復數的虛部*/
}complex;

/*實現復數加法*/

complex add(complex c1,complex c2)
{
complex res;
res.real=c1.real+c2.real;
res.image=c1.image+c2.image;
return res;

}
/*測試*/
int main()
{
complex c1,c2;
c1.real=1;
c1.image=2;
c2.real=3;
c2.image=4;
complex sum=add(c1,c2);

printf("the sum of c1 and c2 is ( %f,%f )\n",sum.real,sum.image);
return 0;

}

⑥ 使用c語言,生成一個實虛部分別為16比特的復數序列,長度為839.

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

constintMAXSIZE=839;

typedefstructcomplex{
unsignedshortreal;
unsignedshortimage;
}COMPLEX;

char*toString(unsignedshortn,chars[]){
inti=15;
s[16]='';
while(i>=0){
s[i]=n%2+'0';
n/=2;
--i;
}
returns;
}

voidshow(COMPLEXa[],intn){
inti;
chars[17];
for(i=0;i<n;++i){
printf("%6d:%s ",a[i].real,toString(a[i].real,s));
printf("%6d:%s ",a[i].image,toString(a[i].image,s));
}
}

intmain(){
COMPLEXmyvector[MAXSIZE];
inti,n=7;
srand((unsignedshort)time(NULL));
for(i=0;i<n;++i){
myvector[i].real=rand()%100;
myvector[i].image=rand()%100;
}
show(myvector,n);
return0;
}

⑦ 輸入實部和虛部,求該復數 C語言

#include "stdio.h"

main()
{
float a,b;
printf("input a and b:");
scanf("%f %f",&a,&b);
printf(">>%.g+%.gi\n",a,b);
}

熱點內容
視酷聊天源碼 發布:2025-01-13 14:22:55 瀏覽:277
源碼輸出電視盒 發布:2025-01-13 14:16:54 瀏覽:172
D演算法求矩陣 發布:2025-01-13 14:16:20 瀏覽:136
商城前端源碼 發布:2025-01-13 14:08:43 瀏覽:48
每個人身上都有密碼是什麼 發布:2025-01-13 14:08:40 瀏覽:472
怎麼看java 發布:2025-01-13 13:54:18 瀏覽:10
沒腳本導演 發布:2025-01-13 13:52:22 瀏覽:339
獲取android簽名 發布:2025-01-13 13:40:21 瀏覽:595
單片機編譯器和驅動 發布:2025-01-13 13:31:33 瀏覽:440
tis伺服器怎麼進pe 發布:2025-01-13 13:31:02 瀏覽:277