数字根的问题
程序代码:
#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为结束,输出每个正整数的根。