C語言計(jì)算大數(shù)相加的方法
本文實(shí)例為大家分享了C語言計(jì)算大數(shù)相加的具體代碼,供大家參考,具體內(nèi)容如下
問題描述
輸入兩個(gè)整數(shù)a和b,輸出這兩個(gè)整數(shù)的和。a和b都不超過100位。
算法描述
由于a和b都比較大,所以不能直接使用語言中的標(biāo)準(zhǔn)數(shù)據(jù)類型來存儲(chǔ)。對(duì)于這種問題,一般使用數(shù)組來處理。
定義一個(gè)數(shù)組A,A[0]用于存儲(chǔ)a的個(gè)位,A[1]用于存儲(chǔ)a的十位,依此類推。同樣可以用一個(gè)數(shù)組B來存儲(chǔ)b。
計(jì)算c = a + b的時(shí)候,首先將A[0]與B[0]相加,如果有進(jìn)位產(chǎn)生,則把進(jìn)位(即和的十位數(shù))存入r,把和的個(gè)位數(shù)存入C[0],即C[0]等于(A[0]+B[0])%10。然后計(jì)算A[1]與B[1]相加,這時(shí)還應(yīng)將低位進(jìn)上來的值r也加起來,即C[1]應(yīng)該是A[1]、B[1]和r三個(gè)數(shù)的和.如果又有進(jìn)位產(chǎn)生,則仍可將新的進(jìn)位存入到r中,和的個(gè)位存到C[1]中。依此類推,即可求出C的所有位。
最后將C輸出即可。
輸入格式
輸入包括兩行,第一行為一個(gè)非負(fù)整數(shù)a,第二行為一個(gè)非負(fù)整數(shù)b。兩個(gè)整數(shù)都不超過100位,兩數(shù)的最高位都不是0。
輸出格式
輸出一行,表示a + b的值。
樣例輸入
20100122201001221234567890
2010012220100122
樣例輸出
20100122203011233454668012
#include<iostream> #include<cstring> using namespace std; int main(void) { int a[401] = { 0 }, b[401] = { 0 }, c[401] = {0}; int alen, blen, clen; char st[400]; scanf("%s", &st); alen = strlen(st); for (int i = alen; i >= 1; i--) { a[i] = st[alen - i] - '1' + 1; } scanf("%s", &st); blen = strlen(st); for (int j = blen; j >= 1; j--) { b[j] = st[blen - j] - '1' + 1; } clen = alen>blen ? alen : blen; for (int i = 1; i <= clen; i++) { c[i] = a[i] + b[i]; } for (int i = 1; i <= clen; i++) { if (c[i] >= 10) { c[i + 1] = c[i + 1] + c[i] / 10; c[i] = c[i] % 10; } } if (c[clen + 1] != 0) clen++; for (int i = clen; i >= 1; i--) { printf("%d", c[i]); } printf("\n"); return 0; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++ vector容器 find erase的使用操作:查找并刪除指定元素
這篇文章主要介紹了C++ vector容器 find erase的使用操作:查找并刪除指定元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05C語言高級(jí)教程之變長(zhǎng)數(shù)組詳解
這篇文章主要介紹了C語言中變長(zhǎng)數(shù)組的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02解析為何要關(guān)閉數(shù)據(jù)庫連接,可不可以不關(guān)閉的問題詳解
本篇文章是對(duì)為何要關(guān)閉數(shù)據(jù)庫連接,可不可以不關(guān)閉的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Cocos2d-x UI開發(fā)之CCControlSwitch控件類使用實(shí)例
這篇文章主要介紹了Cocos2d-x UI開發(fā)之CCControlSwitch控件類使用實(shí)例,本文代碼中含大量注釋講解了CCControlSwitch控件類的使用,需要的朋友可以參考下2014-09-09