用c语言实现递归和非递归解决输入一个非负整数,返回组成它的数字之和

1,递归解决输入一个非负整数,返回组成它的数字之和,
#include <stdio.h>
#include <stdlib.h>

int DigitSum(int n){

if(n<10){

return n;

}

return (n%10)+DigitSum(n/10);
}

int main()
{ int n;
scanf("%d",&n);
int a=DigitSum(n);
printf("%d\n",a);
return 0;
}

2 ,非递归解决输入一个非负整数,返回组成它的数字之和
int DigitSum(int n){
int sum=0;

 while(n%10){
    sum+=n%10;
    n/=10;
 }

return sum;
}

int main()
{ int n;
scanf("%d",&n);
int a=DigitSum(n);
printf("%d\n",a);
return 0;
}

发布了55 篇原创文章 · 获赞 85 · 访问量 5147

猜你喜欢

转载自blog.csdn.net/lzh_99999/article/details/100939067
今日推荐