4 calc the sum (100分)
在遥远的艾泽拉斯大陆上,有一个十分崇拜数字的种族。他们认为万物都是由数字组成的,而且一切的数字最后都能变成一个单独的数码。比如数字S(1990)=1+9+9+0=19,S(19)=10,S(10)=1.
有一天他们从一个废墟中找到一个远古的羊皮卷轴,上面写满了密密麻麻的数字,族长认为卷轴能预言种族的未来。但是他们无法解读卷轴,你能帮助他们么?
输入格式:
一开始是一个数字T(0<T<=10)表示数据组数。 接下来T行,每行是一个数n.(0<n<=10
1000000
),数字可能非常大所以只能用字符数组存储。
输出格式:
输出T行,每行一个数,表示羊皮卷轴上的数对应的数码。
输入样例:
1
5555
输出样例:
2
#include<stdio.h>
int main(){
int n;
int s=0,b;
int j=0;
scanf("%d",&n);
char a[2000000];
for (int i = 1; i <= n; i++) {
scanf("%s",a);
if (a[1]=='\0'){
printf("%c\n",a[0]);
}else{
while (a[j]!='\0'){
s=s+a[j]-'0';
j++;
}
j=0;
b=0;
while (s>=10){
while (s!=0){
b=b+s%10;
s=s/10;
}
s=b;
b=0;
}
printf("%d\n",s);
s=0;
j=0;
}
}
return 0 ;
}