重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
此题目基本思想与非递归方法思想一样,主要是对输入的数进行取数(对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;
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。