Adawz


私信TA

用户名:uq_77684937694

访问量:524

签 名:

等  级
排  名 6411
经  验 1421
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

超级简便的python
浏览:199

解题思路:

注意事项:

参考代码:

//高精度数字相加

#include

#include

char n[1001], m[1001];

int a[1001], b[1001], c[1001];


int main()

{

while (~scanf("%s%s", n, m)) {

//反向存入int型

//n存入a   m存入b

int ln = strlen(n);

int lm = strlen(m);

for (int i = 0; i < ln; i++)

{

a[ln - 1 - i] = n[i] - '0';

}

for (int i = 0; i < lm; i++)

{

b[lm - 1 - i] = m[i] - '0';

}

//以上完成反向存储

//接下来就是相加

int x = ln > lm ? ln : lm;//采取哪个数的位数大

// 以作为循环次数

for (int i = 0; i < x; i++)

{

c[i] += a[i] + b[i];

if (c[i] >= 10)

{

c[i + 1] = c[i] / 10;

c[i] %= 10;

}

}

while (c[x] == 0 && x > 0)

x--;     //除去前导0 


for (int i = x; i >= 0; --i)

printf("%d", c[i]);

memset(a, 0, sizeof(a));//清空数组

memset(b, 0, sizeof(b));

memset(c, 0, sizeof(c));


putchar('\n');

}

return 0;

}


 

0.0分

1 人评分

  评论区

改了
2023-12-13 16:13:42
scanf("%s%s", &n, &m)这里不需要地址符  因为数组名  本身就是地址
2023-12-13 16:08:42
  • «
  • 1
  • »