本文共 652 字,大约阅读时间需要 2 分钟。
此题目基本思想与非递归方法思想一样,主要是对输入的数进行取数(对10取余)和缩小(整除10)
eg:1234第一次 1234%10取得数4,1234/10缩小为123第二次 123%10取得数3, 123/10缩小为12第三次12%10取得数2, 12/10缩小为1第四次 当调用的数小于十直接取得此数为1源代码:
#include#include int DigitSum(int number){ int suu,m ; while(number) { m = number % 10;//取数 number /= 10;//数缩小 return m + DigitSum(number); } return number;//递归出口}int main(){ int number,i=0,temp,m=1; int result; printf("请输入数字\n"); scanf("%d", &number); temp = number; result = DigitSum(number); printf("计算结果为%d\n", result); system("pause"); return 0;}
转载于:https://blog.51cto.com/14232799/2377396