您的位置:首页 > 其它

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

2015-03-12 01:21 204 查看
/****************************************
*  File Name  : comprehensive.c
*  Creat Data : 2015.3.12
*  Author     : ZY
*****************************************/
/*写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,
例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19*/
//递归
#include <stdio.h>
int DigitSum(int n)
{
if(n < 10)
{
return n;
}
if(n >= 10)
{
return ((n % 10) + DigitSum(n / 10));
}
}
int main(void)
{
printf("%d\n",DigitSum(1729));
return 0;
}
//非递归
#include <stdio.h>
int DigitSum(int n)
{
int sum = 0;
int m;
while(n)
{
m =n%10;
sum += m;
n = n/10;
}
return sum;
}
int main(void)
{
printf("%d\n",DigitSum(1729));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐