C语言大数加法。
答案:2 悬赏:10 手机版
解决时间 2021-03-31 17:24
- 提问者网友:心如荒岛囚我终老
- 2021-03-31 09:51
C语言大数加法。
最佳答案
- 五星知识达人网友:拜訪者
- 2021-03-31 11:20
#include
#include
void main( ) {
char a[1000], b[1000], c[1001] = {0}, flag = 0;
int i, j, k, m, n, len;
scanf("%s%s", a, b);
m = strlen(a);
n = strlen(b);
len = (m > n) ? m : n;
#include
void main( ) {
char a[1000], b[1000], c[1001] = {0}, flag = 0;
int i, j, k, m, n, len;
scanf("%s%s", a, b);
m = strlen(a);
n = strlen(b);
len = (m > n) ? m : n;
for(i = m - 1, j = n - 1, k = len - 1; i >= 0 && j >= 0; i--, j--, k--)
{
c[k] = (a[i] - '0' + b[j] - '0' + flag) % 10 + '0';
flag = (a[i] - '0' + b[j] - '0' + flag) / 10;
}
for(; i >= 0; i--, k--)
{
c[k] = (a[i] - '0' + flag) % 10 + '0';
flag = (a[i] - '0' + flag) / 10;
}
for(; j >= 0; j--, k--)
{
c[k] = (b[j] - '0' + flag) % 10 + '0';
flag = (b[j] - '0' + flag) / 10;
}
if(flag != 0)
{
for(k = len; k > 0; k--)
c[k] = c[k - 1];
c[0] = flag + '0';
}
printf("%s + %s = %s
", a, b, c);
}运行结果
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-03-31 12:26
思路不好,再细也没有用,见下面的代码,五行搞定。
int i, a[100], b[100], c[100];
for (i = 0; i < 100; ++i)
c[i] = a[i] + b[i];
for (i = 0; i < 100; ++i) {
c[i+1] += c[i] / 10;
c[i] %= 10;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯