这是一个求数根的问题,但为什么scanf("%ld",&ch);写成: scanf("%ld\n",&c
#include <stdio.h>#include <stdlib.h>
#include <math.h>
int res(long int n)
{
long int b,c=0;
while(n>0)
{
b=n%10;
c=c+b;
n=n/10;
}
return c;
}
int main()
{
long int a[100];
int i=0;
long int ch,b,c=0;
int m=0;
for(i=0;;i++)
{
scanf("%ld\n",&ch);
a[i]=ch;
m=m+1;
if(ch==0)
break;
else continue;
}
for(i=0;i<m-1;i++)
{
c=a[i];
while(c>=10)
{
b=res(c);
c=b;
}
printf("%d\n",c);
}
return 0;
}