解题思路:说白了,就是进位与ASCII码值的转换
注意事项:
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[10000]={'0'};
char b[10000]={'0'};
int c[10000]={0};
char d[10000]={0};
int e[10000]={0};
scanf("%s",a);
scanf("%s",b);
int i,j;
int len=strlen(a);
int len_1=strlen(b);
int max;
for(i=0,j=len-1;i<len;i++,j--)
c[i]=a[j]-'0';
for(i=0,j=len_1-1;i<len_1;i++,j--)
d[i]=b[j]-'0';
if(len>len_1)
{
max=len;
}
else
{
max=len_1;
}
for(i=0;i<max;i++)
{
e[i]=e[i]+c[i]+d[i];
if(e[i]>9)
{
e[i+1]++;
e[i]=e[i]-10;
}
}
if(e[max]>0)
max++;
for(i=max-1;i>=0;i--)
{
printf("%d",e[i]);
}
printf("\n");
return 0;
}
0.0分
1 人评分
ZengJie 2024-06-08 16:45:39 |
他这个有问题,训练场也有问题,结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342,不知道为什么测试里面没有样例,让他通过了
ZengJie 2024-06-08 16:46:59 |
不过思路没有问题,我借鉴了一下
ZengJie 2024-06-08 16:48:13 |
for(n=0;n<=strlen(cArr1);n++){ while(arr1[n] != 0){ test = 1; break; } if(test == 1){ printf("%d",arr1[n]); } }
ZengJie 2024-06-08 16:49:10 |
我用的是正常顺序输出,零在前面,检测第一个不为零的数
ZengJie 2024-06-08 16:49:54 |
其他的和博主类似