題目描述:
輸入:
多行測試資料,每行包含兩個正整數a和b,a和b的範圍不會超過1000位
輸出:
輸出a+b的結果
樣例輸入:
樣例輸出:1 1
1000 2000
1.首先定義兩個字串輸入,再定義兩個陣列,把陣列置零。開始遍歷,把字串逆序儲存到陣列裡面。2
3000
比如123+17這樣,逆序存到陣列裡面就是321和71。
2.多定義乙個進製數j,來控制進製。直接按陣列下標進行相加,如果a[i]+b[i]+j>9,這是一種情況,否則是另外一種不進製情況。
比如3+7=10>9這樣,這時候進製等於1,剩餘為0.
3.輸出相加之後的陣列(從後向前輸出),定義乙個變數flag=1,來控制輸出,直到輸出不是0,開始輸出資料。
比如123+17,逆序儲存並相加之後是041,直接從下標為1005(兩數字數都不超過1000)遍歷輸出,直到遍歷到下標為2時(陣列值為1)開始輸出。
#includeusing namespace std;
int main()
else
}flag=1;
for(i=1005;i>=0;i--)//從末尾直到不是0的那一位開始輸出
} cout<} return 0;
}
C 實現大數相加
在c 中,我們經常需要表示整數。但是,c 的基本資料型別中,最大的long也只能表示 9,223,372,036,854,775,808 到 9,223,372,036,854,775,807之間的數。如果我們需要表示更大的數,就需要用到一定的演算法來完成。這次,我給大家分享一下c 的大數運算之加法...
c語言實現大數相加
文章 兩個大數我們可以用陣列來儲存,然後在陣列中逐位進行相加,再判斷該位相加後是否需要進製,為了方便計算,我們將數字的低位放在陣列的前面,高位放在後面。捕獲.jpg include includeint main n2 10000 int result 10001 t1 10000 t2 10000...
c 大數相加
在實現簡單的加法時,我們大都會採用直接相加輸出結果,但是如果兩個數非常大,已經超出了c 基本資料型別的表示範圍時,該如何解決?c 幾種基本資料型別 int 整型 4位元組 範圍 2147483648 2147483647float 實型 單精度 4位元組 範圍 1.18 10 38 3.40 10 ...