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