- 省选算法
为什么A+Bproblem高精不对?
- 2022-12-28 20:52:24 @
#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 条评论
-
Zoomy 小数据结构 SU @ 2023-1-13 15:33:57
代码没有问题,而你提交的题目没有测试数据。
👍 2
- 1