Input
Output
Sample Input
Sample Output
#include <stdio.h>
#include <string.h>
int main()
{
char num[2000];
int sum,sum1,n,i;
memset(num,0,sizeof(num)); //将字符型数组全部赋值为‘0’。
gets(num); //将用户输入的整数以字符型存入num。
while(strcmp(num,"0")!=0)
{
sum1=sum=0;
n=strlen(num);
for(i=0;i<n;i++)
{
sum1+=(num[i]-'0'); //注意char型跟int型通用,这个地方查ASCII可知原理
}
while(1) //while循环求出数根。
{
sum+=sum1%10;
sum1/=10;
if(sum1==0)
{
if(sum<10)
{
printf("%d
",sum);
break;
}
else
{
sum1=sum;
sum=0;
}
}
}
memset(num,0,sizeof(num));
gets(num);
}
return 0;
}