#include<bits/stdc++.h>
using namespace std;
const int maxn = 505;
char sa[maxn],sb[maxn];
int a[maxn],b[maxn],c[maxn];
int main()
{
	scanf("%s",sa);
	scanf("%s",sb);
	memset(c,0,sizeof(c));//将进位全部初始化为0; 
	int la=strlen(sa);//为之后遍历做准备;长度;
	int lb=strlen(sb); 
	for(int i=0;i<la;i++) a[la-i-1] = sa[i]-'0';//字符转数字-‘0’字符0; 
	for(int i=0;i<lb;i++) b[lb-i-1] = sb[i]-'0';
	int lc =la>lb?la:lb;//求最大值,谁大定义谁;
	for(int i=0;i<lc;i++){
		c[i]+=a[i]+b[i];
		c[i+1]=c[i]/10;
		c[i]=c[i]%10; /*
		if(c[i]>=10){
		c[i+1]=c[i]/10;//进位计算; 
		c[i]=c[i]%10;//当前位的计算 
	}*/
	} 
	if(c[lc]>0) lc++;
	for(int i=lc-1;i>=0;i--) printf("%d",c[i]);//反向输出; 
return 0;
}

1 条评论

  • @ 2023-1-13 15:33:57

    代码没有问题,而你提交的题目没有测试数据。

    👍 2
    • @ 2023-8-23 21:00:19

      有1人觉得你的评论很欢乐😄

  • 1