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,...