这道题,要注意没有限制输入数据的长度,所以输入的数据不能用有限的int保存,应该按字符串保存,但是在处理过程中,就可以按int处理,因为,字符串的所有位加起来也不会太大
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int next(int a)
{
int sum=0;
while(a)
{
sum+=a%10;
a/=10;
}
return sum;
}
char get()
{
char ch=getchar();
while(ch==' ' || ch=='\t')
ch=getchar();
return ch;
}
int main()
{
char ch;
while((ch=get()) && (ch!='0'))
{
int sum=ch-'0';
while((ch=get())!='\n')
{
sum+=ch-'0';
}
while(sum>=10)
sum=next(sum);
cout<<sum<<endl;
}
}