看讨论区有更好的方法,用数学性质来解决,不过不想看,因为觉得看了之后肯定会忘,所以用模拟做的,水过~
#include<string>
#include<iostream>
using namespace std;
int main()
{
string a,b;
int s;
while(1)
{
cin>>a;
if(a[0]=='0') break;
int n=a.size();
while(1)
{
s=0;
for(int i=0;i!=n;++i)
s+=(a[i]-'0');
if(s<10)
{
cout<<s<<endl;
break;
}
n=0;
for(int i=0;s>0;++i)
{
a[i]=s%10+'0';
s/=10;
++n;
}
}
}
return 0;
}