typedef struct整個程式使用了一下的函式numnum,*snum;
snum exptonum(char exp);//將輸入字串轉換為對應結構體
void reverse(int a,int len);//
陣列逆序
int compareabs(snum left,snum right);//
比較兩數絕對值大小
snum anti_add(snum left,snum right);//
元加法snum anti_sub(snum left,snum right);//
元減法
snum add(snum left,snum right); //
加法 snum sub(snum left,snum right); //
減法snum multiply(snum left,snum right); //
乘法 snum divide(snum left,snum right); //
除法 snum mod(snum left,snum right);//
求摸運算
函式的定義
1snum multiply(snum left,snum right) 89
if(left->symbol==right->symbol)else
1415
1617
for(i=0;ilen;i++)
21}
2223
2425
////
進製化簡
26int len = left->len+right->len-1; //
長度27
28//
29for(i=0;i)else39}
40}
4142
4344
////
捨去多餘0位
45for(i=len-1;i>=0;i--)else
51}
52if(len==0)55
56 mul->len=len;
5758
free
(left);
59free
(right);
60return
mul;61}
6263
6465
//減乙個數等於加上乙個數的相反數
66snum sub(snum left,snum right)
7071
//比較兩數絕對值大小
72int
compareabs(snum left,snum right)else
if(left->lenlen)else
83if(left->number[i]number[i])
86 i--;
87}
88return
0; //
兩者絕對值相等 89}
90}9192
93 snum exptonum(char
exp)else
105106
//輸入到陣列
107int count=0
;108
while(exp[locan]!='\0'
)113
114int i=count;
115for(i=count;i1;i++)
118119 temp->len=count;
120121
122//
陣列逆序從個位開始計算
123 reverse(temp->number,temp->len);
124125
return
temp;
126}
127128
//陣列逆序
129void reverse(int a,int
len)
136}
137138
139140
//元加法,假設left和right都為正數或0
141snum anti_add(snum left,snum right)else
153154 i++;
155}
156157
if(left->number[i]!=0
)160
161 left->len=i;
162return
left;
163}
164165
//實現正數或負數的加法
166snum add(snum left,snum right)else
else
177}
178return
temp;
179}
180181
//元減法,假設left>=right,left和right均為正數或0
182snum anti_sub(snum left,snum right)else
193194 count+=1
;195
196 i++;
197}
198199
200201
202//
捨掉多餘的0
203for(i=count-1;i>=0;i--)else
209}
210211
if(count==0
)214
215 left->len=count;
216return
left;
217218 }
C語言 C 實現大數四則運算
所謂大數,就是數字非常 100 的大,不管是int還是long long int都儲存不下的數,如何進行加減乘除四則運算,這種情況在計算機的運算中還是很常見的,現將大致思路寫上,並附上 以供參考。首先資料必然是不能以int或者long long int儲存,那麼只能以字串或者字元陣列的形式儲存。而且...
c語言實現簡單四則運算
c語言實現簡單四則運算 一 專案開始 二 閱讀 srand unsigned time null 通過呼叫隨機函式,將生成的100以內的隨機整數賦給不同的變數,一部分用於四則表示式資料的 而賦給變數c的隨機數則用於結合switch語句控制程式跳轉執行 不同的分支,即不同的四則運算,如下 c rand...
大數四則運算
include include includeusing namespace std define m 1000000000000000 大數加法 將數字以字串的形式傳入add加法函式,在函式內部完成字串 陣列的轉換,然後在陣列中逐位進行相加,再判斷該位相加後是否需要進製,為了方便計算,我們將數字的...