大數加減乘除(c語言)

2021-09-26 06:43:20 字數 1470 閱讀 3647

首先是大數相加,大數相加主要是考慮進製的問題,這個問題其實也很好解決,只要相加大於9,就說明要進製,此時當前位置的下一位加1,當前位只保留個位,就可以了,具體看**。

#include

#include

intmain()

}while

(c[max-1]

==0&&max!=1)

//去掉字首0

max--

;for

(i=max-

1;i>=

0;i--

)printf

("%d"

,c[i]);

printf

("\n");

}return0;

}

大數相減,跟大數相加比較就是這裡考慮的是借位,和判斷兩個數的大小,以便判斷結果是正還是負。

**中也有解釋:

#include

#include

intmain()

c[i]

=a[i]

-b[i]

;//計算差值並存入陣列

}else

if(flag==1)

c[i]

=b[i]

-a[i];}

}while

(c[max-1]

==0&&max!=1)

//去除前導0

max--;if

(flag==1)

//如果第乙個數比第二個數小,則計算出來的結果為負值

printf

("-");

for(i=max-

1;i>=

0;i--

)printf

("%d"

,c[i]);

printf

("\n");

}return0;

}

大數乘法運算,跟兩個數相乘是一樣的,就是用乙個雙重迴圈讓乙個數的某一位乘以另乙個數的所有位,和乘法的計算一樣,這裡任然要考慮要進製的問題,但是並不是在乘的時候進製,而是現將乘的結果先存到陣列裡,最後用乙個迴圈去判斷陣列的每乙個然後,該進製的進製就可以了。

**如下

#include

#include

intmain()

while

(t)//這裡就是判斷最後兩個數相加後是否有進製

while

(d[j-1]

==0&&j!=1)

//去除前導零

j--;for

(i=j-

1;i>=

0;i--

)printf

("%d"

,d[i]);

printf

("\n");

}return0;

}

大數相除我在網上也查了,但是寫的都太麻煩,沒看太懂。所以就暫時先不分享了,捂臉。

C語言 大數加減乘除

include include using namespace std inline int compare string str1,string str2 高精度加法 string add int string str1,string str2 else else else int int1 0,...

大數加減乘除

include include include include includeusing namespace std compare比較函式 相等返回0,大於返回1,小於返回 1 int compare string str1,string str2 if cf 0 str char cf 0 st...

大數加減乘除

對於大數的加減乘除都要先把輸入的大數字串轉成倒序的陣列,再進行運算。字串的處理 scanf s s a1,b1 len 0 for int i strlen a1 1 i 0 i len 0 for int i strlen b1 1 i 0 i len max strlen a1 strlen b...