九度题目1124Digital Roots

#include<stdio.h>
int main (){


int n,r,i;
char a[1000];
while(scanf("%s",&a)!=EOF){
if(a[0]=='0')break;
if(a[1]==0){
    r=a[0]-'0';
}
else{
r=0;
for(i=0;a[i]!=0;i++){
     r+=a[i]-'0';
}
while(r/10!=0){
     n=r;
 r=0;
 while(n>0){
    r+=n%10;
n=n/10;
 }
}
}




printf("%d\n",r);

}
return 0;


}

关键注意:题目说  输入可能是很大的数    所以用字符串

你可能感兴趣的:(c)