【各位数之和,为什么会错?】
#include<stdio.h>
int main()
{
int n,m,i,k,sum,a[100];
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
m=n;
while(n!=0)
{
n=n/10;
i++;
}
for(k=0;k<i;k++)
{
sum=0;
a[k]=m%10;
m=m/10;
sum=sum+a[k];
}
printf("%d\n",sum);
}
return 0;
}
[解决办法]
i没有初始化
[解决办法]
sum =0 ; //sum放这里来,不然每次都清空了
for(k=0;k<i;k++)
{
// sum=0;
a[k]=m%10;
m=m/10;
sum=sum+a[k];
}
#include<stdio.h>
int main()
{
int n,m,i,k,sum,a[100];
i=0;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
m=n;
while(n!=0)
{
n=n/10;
i++;
}
sum=0;
for(k=0;k<i;k++)
{
a[k]=m%10;
m=m/10;
sum=sum+a[k];
}
printf("%d\n",sum);
}
return 0;
}