杭电1013,为什么总是wrong answer啊,我找不出错误,请牛人帮帮忙啊
#include<stdio.h>int main()
{
int a[100],sum[100]={0};
int i,j;
for(i=0; scanf("%d",&a[i]) && a[i]!=0; i++)
continue;//将录入的数据存进a[i]
for(j=0; j<i; j++)
{
while(a[j] || sum[j]>=10){
if(a[j]==0 && sum[j]>=10) a[j]=sum[j],sum[j]=0;//若是sum[j]为两位数的话,把sum[j]赋给a[j],使循环继续
sum[j] += (a[j] % 10); //从a[j]的个位的数值 一直加到a[i]的最高位的数值
a[j] = a[j]/10; //当加到a[j]的最高位时,这个式子会使a[j]变为零
}
}
for(i=0;i<j;i++)
{
printf("%d\n",sum[i]);//依靠循环,将计算结果输出
}
return0;
}
/*这是我第一次做的,少考虑了一些内容,不过思路挺清晰的,这上下的思路是一样的
#include<stdio.h>
int main()
{
int a,sum;
while(scanf("%d",&a)==1 && a != 0){
sum = 0;
while(a || sum>=10){
if(a==0 && sum>=10) a=sum,sum=0;
sum += (a%10);
a = a/10;
}
printf("%d\n",sum);
}
}
*/