用C語言程式設計計算兩個超長正整數(長度小於100)的加法

2022-02-24 21:53:58 字數 2500 閱讀 5647

1樓:匿名使用者

可以用字串分割成int可以處理的整數,相加後在整合成一個長字串輸出

2樓:匿名使用者

程式很簡單,

1取串長l

2建立(l/4)取整+1 長度的陣列

3將cin得到的字串4個一組轉化為int型變數順序存入陣列4建立(l/4)取整+1 長度的陣列用來存放進位5數字分別相加,最高位進位對應進位陣列置16由於相加不可能進2,所以在合併之前檢查每個進位位是1的前一個陣列元素

對其+1並儲存回原位,轉化為字串輸出

希望對你有幫助,不過編這種程式花費時間才給5分。。。。實在虧啊

用c語言程式設計「使用陣列完成兩個超長(長度小於100)正整數的加法。」

3樓:匿名使用者

#include

#include

void f(char* from,char* to)else

if(a[i]!='\0')

else

}else if(b[i]!='\0')

else

}c[i]=d;

printf("sum is:\n");

if(d=='0') for(i=i-1;i>=0;i--) printf("%c",c[i]);

else for(;i>=0;i--) printf("%c",c[i]);

system("pause");

return 0;}

4樓:嬉鬧

用字串實現,額呵呵。

用c語言程式設計:1000位以內的正整數的加法運算

5樓:

1000位的大數字計算還說是初學者……您別逗我……

網頁不好排版,將就著看吧

#include

int main() ;

char addend2[1001] = ;

char result[1001] = ;

int length1, length2, resultlength;

int carryover = 0;

int i, mark;

scanf("%s", &addend1);

scanf("%s", &addend2);

for (length1 = 0; addend1[length1]; length1++);

length1--;

for (length2 = 0; addend2[length2]; length2++);

length2--;

resultlength = length1 > length2 ? length1 : length2;

for (i = 0; i <= resultlength; i++)  else

} else

}mark = i;

if (i <= length1)

}if (i <= length2)

}for (i = mark; carryover; i++)  else

break;}}

for (i = 0; i <= resultlength; i++)

}return 0;}

6樓:

宣告兩個能容納1000位十進位制數的char型陣列儲存輸入數字字串,以長的做被加數和結果,短的長度控制加法迴圈次數。在加法過程中判斷和處理進位。舉例**如下:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

#include "string.h"

int main(void),b[1002]=,*pl=a,*ps=b;

int i,j,la,lb;

while(1)

if(la0;i--,j--)//從末位向前對應加

if((pl[j]+=ps[i]-'0')>'9')//某位》'9'則處理進位

pl[j]-=10,pl[j-1]++;

for(;j>0;j--)//若被加數有進位則繼續做完

if(pl[j]>'9')

pl[j]-=10,pl[j-1]++;

printf("the result is %s\n",pl[0]=='1' ? pl : pl+1);//有進位則第0位輸出

return 0;}

7樓:路人之三

這個很麻煩,浮點數的表示範圍只有3.4e-38~3.4e38,遠遠達不到1000位的要求,除非用演算法合併運算,這樣效率又會很低,估計永遠算不完 我想岔了

c語言求改錯!!超長整數的運算!!

8樓:毒瑪

除了那個錯誤外,還有就是短的那個陣列最後幾位要補0

9樓:匿名使用者

dev執行沒有問題呀

程式設計c語言輸入兩個正整數mn計算它們的最大公

include includeint main void printf n d d i,m n i return 0 c語言程式設計,輸入兩個正整數m和n,求其最大公約數和最小公倍數?include int main a num1 b num2 while b 0 printf gongyueshu...

C語言程式設計輸入兩個正整數m和n,求它們的最大公約數

及註釋如下 include int int a,int b 定義函式,用來計算最大公約數 int main include void main c a b printf 最大公約數 d b 輸入 20 60 輸出 20 main a num1,b num2 while b 0 輾轉取餘演算法 pri...

用c語言寫輸入兩個整數ab程式設計求解a的b次冪的

include include include include include include include using namespace std string highit string a,string b c for int i n m 1 i 0 i result.insert 0,1,...