c語言如何複數,c語言 複數

本文目錄一覽:

用c語言如何輸出複數

這不是c語言的問題。

數學上複數的表示方法是 a + bi,按這個形式輸出就可以了,比如:

1+9i

-3.45-8.33i

輸出方法這樣就行:

print(“%f+%fi”, a, b);

C語言中怎麼進行複數的定義及運算

定義成結構體 實部和虛部分別定義成double,然後在自己定義運算……

如果是C++的話,可以重載+、-、*、\操作符的方式

c語言中如何定義一個複數型數組?

首先加入頭文件:

#include

complex

然後進行複數類型定義:

typedef

complexfloat

Comp;//這裡double也可

這樣就可以使用複數結構了

如:聲明複數數組

Comp

a[5];

數據結構c語言複數運算

1、首先打開vc6.0, 新建一個項目。

2、添加stdio.h頭文件。

3、添加math.h頭文件。

4、添加main主函數。

5、定義結構體z。

6、定義double類型val變數。

7、初始化z。

8、使用cabs函數。

9、使用printf列印信息。

10、運行程序,看看結果。

在C語言環境下實現複數運算

亂七八糟寫了一個,肯定有很多不對的地方,懶得找了,如果你找到了發QQ(252290278)給我吧

#include

stdio.h

#includestring.h

int

ope(char

num[])//計算有幾個符號

{

int

count=0;

for(int

i=0;num[i]!=’\0′;i++)

if(‘+’==num[i]

||

‘-‘==num[i])

count++;

return

count;

}

void

inone(double

a,double

b)//輸入一個複數

{

int

i,j,l;

char

num[100];

scanf(“%s”,num);

l=strlen(num);

if(‘i’==num[l-1])//有虛部

{

if(ope(num))//如果有符號

{

i=0;

if(2==ope(num))//有兩個符號

{

if(‘+’==num[0])//如果實部是正數

{

for(i=1;il;i++)//將整數部分的值存放到整數a中

if(‘+’==num[i]

||

‘-‘==num[i])

{

for(j=1;ji;j++)

a=a*10+num[j]-‘0’;

break;

}

}

else

if(‘-‘==num[0])//如果實部是負數

{

for(i=1;il;i++)//將整數部分的值存放到整數a中

if(‘+’==num[i]

||

‘-‘==num[i])

{

for(j=1;ji;j++)

a=a*10-(num[j]-‘0’);

break;

}

}

}

else

if(1==ope(num))//一個符號,即實部為正數或者沒有實部

{

for(i=0;il;i++)//將整數部分的值存放到整數a中

if(‘+’==num[i]

||

‘-‘==num[i])

{

for(j=0;ji;j++)

a=a*10+(num[j]-‘0’);

break;

}

}

//將虛數部分的值存放到整數b中

if(‘+’==num[i])//如果虛部是正數

for(j=i+1;jl-1;j++)

b=b*10+num[j]-‘0’;

else

if(‘-‘==num[i])

for(j=i+1;jl-1;j++)

b=b*10-(num[j]-‘0’);

}

else//沒有符號

for(i=0;il-1;i++)

b=b*10+num[j]-‘0’;

}

else//沒有虛部

{

if(‘-‘==num[0])//實部是負數

for(i=1;il;i++)//將整數部分的值存放到整數a中

a=a*10-(num[i]-‘0’);

else

{

i=0;

if(‘+’==num[0])//實部是正數

i++;

for(;il;i++)

a=a*10+num[i]-‘0’;

}

}

}

void

intwo(double

a,double

b,double

c,double

d)//輸入兩個複數

{

a=b=c=d=0;

printf(“請輸入第一個複數:\n”);

inone(a,b);

printf(“請輸入第二個複數:\n”);

inone(c,d);

}

void

pri(double

a,double

b)//輸出

{

if(0==a

0==b)

{

printf(“0\n”);

return;

}

if(a)

printf(“%d”,a);

if(b)

{

if(b0)

printf(“+”);

printf(“%di”,b);

}

printf(“\n”);

}

void

add()//加

{

double

a,b,c,d;

intwo(a,b,c,d);

printf(“這兩個複數相加的結果為:”);

pri(a+c,b+d);

}

void

sub()//減

{

double

a,b,c,d;

intwo(a,b,c,d);

printf(“這兩個複數相減的結果為:”);

pri(a-c,b-d);

}

void

mul()//乘

{

double

a,b,c,d;

intwo(a,b,c,d);

printf(“這兩個複數相乘的結果為:”);

pri(a*c-b*d,b*c+a*d);

}

void

exc()//除

{

double

a,b,c,d;

intwo(a,b,c,d);

if(c==0

d==0)

{

printf(“錯誤,除數為零!\n”);

return;

}

printf(“這兩個複數相除的結果為:”);

pri((a*c+b*d)/(c*c+d*d),(b*c-a*d)/c*c+d*d);

}

void

vei()//冪

{

int

n;

double

a,b,c,d;

intwo(a,b);

c=a;d=b;

printf(“請出入n次冪(只能為整數!):\n”);

scanf(“%d”,n);

for(i=1;in;i++)

{

a=a*c-b*d;

b=b*c+a*d;

}

printf(“這個複數相減的結果為:”);

pri(a,b);

}

int

main()

{

int

n;

char

ch;

while(1)

{

printf(“請選擇需要的運算:\n”);

printf(“0.退出\n”);

printf(“1.加運算\n”);

printf(“2.減運算\n”);

printf(“3.乘運算\n”);

printf(“4.除運算\n”);

printf(“5.冪運算\n”);

scanf(“%c”,ch);

while(‘

‘==ch

||

‘\n’==ch)

scanf(“%c”,ch);

if(ch’0′

||

ch’9′)

{

printf(“輸入錯誤請重新輸入!\n”);

continue;

}

n=ch-‘0’;

switch(n)

{

case

0:

return

0;

case

1:

add();

break;

case

2:

sub();

break;

case

3:

mul();

break;

case

4:

exc();

break;

case

5:

vei();

break;

default:

printf(“輸入錯誤,請重新輸入\n”);

break;

}

}

return

0;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/233878.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 17:12
下一篇 2024-12-11 17:12

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python中複數的語法

    本文將從多個方面對Python中複數的語法進行詳細的闡述。Python中的複數是指具有實部和虛部的數,其中實部和虛部都是浮點數。它們可以用「實數+虛數j」的形式表示。例如,3 + …

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論