数字根的问题
程序代码:#include <stdio.h>
int main()
{
int i,j,k[10],l,n=1,sum=0;
printf("请输于一个数");
scanf("%d",&l);
for(i=0;(l%(10*n))!=0;i++)
{
do
{
k[i]=l%(10*n);
n++;
}while(l%(10*n)==0);
if(l%(10*n)==0)
{
k[i]=l/(10*(n-1));
}
}
while(1)
{
for(i=0;l%(10*n)==0;i++)
{
sum+=k[i];
}
if(sum<10)
{
printf("数根为%d",sum);
break;
}
}
return 0;
}
响了很久了,也不知道哪错了,编译能通过
数字根是指对一个整数,把它的各位数字相加,若其和为一位数,则此和即为其根,若不是一位数字,则把它的各位数字继续相加,直到其和为一个正整数为止。例如对于正整数24,因为2+4=6,和为1位数,所以6即为其根。对于39,因为3+9=12,和不为个位数,继续相加,1+2=3,3为个位数,则为数字的根。要求输入若干个正整数,以0为结束,输出每个正整数的根。







