C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)
此题目基本思想与非递归方法思想一样,主要是对输入的数进行取数(对10取余)和缩小(整除10)
eg:
1234
第一次 1234%10取得数4,1234/10缩小为123
第二次 123%10取得数3, 123/10缩小为12
第三次12%10取得数2, 12/10缩小为1
第四次 当调用的数小于十直接取得此数为1
源代码:
#include<stdio.h>#include<stdlib.h>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;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。