您的位置:首页 > 其它

高精度加法

2015-12-03 21:13 399 查看
#include <stdio.h>
#include <string.h>
char sa[1000], sb[1000];
int a[1000] = {0}, b[1000] = {0}, c[1000] = {0}, la, lb, lc;
int main() {
scanf("%s %s", sa, sb);
la = strlen(sa);
lb = strlen(sb);
int i;
for (i = 0; i < la; i++) {
a[la - i - 1] = sa[i] - '0';
}
for (i = 0; i < lb; i++) {
b[lb - i - 1] = sb[i] - '0';
}
lc = la > lb ? la : lb;
for (i = 0; i < lc; i++) {
c[i] = a[i] + b[i] + c[i];
if (c[i] >= 10) {
c[i + 1] = 1;
c[i] -= 10;
}
}
if (c[lc] > 0) {
lc++;
}
for (i = lc - 1; i >= 0; i--) {
printf("%d", c[i]);
}
printf("\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: