#include<stdio.h>
#include<string.h>
int main()
{
char s1[1003],s2[1003];
int a[1000]={0},b[1000]={0},sum[1000]={0};
int i,j,len1=0,len2=0,len_max,k=0;
gets(s1);
gets(s2);
len1=strlen(s1);
len2=strlen(s2);
if(len1>len2) len_max=len1;
else len_max=len2;
for(i=0,j=len1-1;j>=0;i++,j--) a[i]=s1[j]-'0';
for(i=0,j=len2-1;j>=0;i++,j--) b[i]=s2[j]-'0';
for(i=0,j=0;i<len_max||j<len_max;i++,j++)
{
if(i>len1-1) a[i]=0;
else if(j>len2-1) b[j]=0;
if(a[i]+b[j]>=10)
{
sum[i+1]++;
sum[i]+=a[i]+b[i]-10;
}
else sum[i]+=a[i]+b[j];
}
if(sum[len_max]==1) printf("1");
for(i=len_max-1;i>=0;i--) printf("%d",sum[i]);
printf("\n");
return 0;
}
![](https://profile-avatar.csdnimg.cn/6ee6b0f7021f437d922d2ae5bbd86469_m0_67884278.jpg!4)
1.实现大整数相加2.输出数据不允许左边有零,就是001+002不能=003要等于3,条件1这个代码可以实现,条件2该怎么实现
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 四海一叶秋 2022-03-20 15:18关注
29行删除i=len_max-1,上面插入一行:for(i=len_max-1;sum[i]==0;i--);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥20 找辅导 初学者 想实现一个项目 没有方向
- ¥15 关于渗漏场的电场分布模拟
- ¥24 matlab怎么修改仿真初始时间
- ¥15 两分段线性回归模型分析阈值效应
- ¥15 前端和后端代码都没报错,但是点登录没反应的?
- ¥100 需要远程解决QSQLITE问题!
- ¥15 利用光场表达式画出初始光场强度分布图像等几个问题在这两个图片里
- ¥15 gozero求手把手教学,400一天
- ¥15 泥浆冲清水的泥浆分布
- ¥15 LASSO回归分析筛选关键基因,适合多大样本量?