1.算法
题目比较简单,就是简单的高精度加法,一位一位的,加,进位,即可。
2.实现
result数组用来放结果,input用来放输入,没此将输入加到结果上。注意,最后去掉前面所有的0
3.代码
#include<cstdio>
#include<cstring>
int main()
{
int result[10000]={0};
int length=0;
char input[100];
scanf("%s",input);
while(!((strlen(input)==1)&&(input[0]=='0')))
{
for(int i=strlen(input)-1,index=0;i>=0;i--,index++)
{
result[index]+=input[i]-'0';
result[index+1]+=result[index]/10;
result[index]=result[index]%10;
}
if(strlen(input)>=length) length = strlen(input)+1;
scanf("%s",input);
}
while(result[length-1]==0) length--;
while(length>0)
{
printf("%d",result[length-1]);
length--;
}
return 0;
}
题目比较简单,就是简单的高精度加法,一位一位的,加,进位,即可。
2.实现
result数组用来放结果,input用来放输入,没此将输入加到结果上。注意,最后去掉前面所有的0
3.代码
#include<cstdio>
#include<cstring>
int main()
{
int result[10000]={0};
int length=0;
char input[100];
scanf("%s",input);
while(!((strlen(input)==1)&&(input[0]=='0')))
{
for(int i=strlen(input)-1,index=0;i>=0;i--,index++)
{
result[index]+=input[i]-'0';
result[index+1]+=result[index]/10;
result[index]=result[index]%10;
}
if(strlen(input)>=length) length = strlen(input)+1;
scanf("%s",input);
}
while(result[length-1]==0) length--;
while(length>0)
{
printf("%d",result[length-1]);
length--;
}
return 0;
}