c/c++开发分享
问题描述
输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。
算法描述
由于a和b都比较大,所以不能直接使用语言中的标准
输入格式
输入包括两行,第一行为一个非负整数a,第二行为一个非负整数b。两个整数都不超过100位,两数的最高位都不是0。
输出格式
输出一行,表示a + b的值。
样例输入
20
样例输出
20100122203011233454668012
#include #include 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; }
以上就是c/c++开发分享
本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/595544.html