求一个数字的各个数字的和
方法:用递归依次将各个位置上的数取出相加
#include<stdio.h>
#include<stdlib.h>
int DigitSum(int n);
int main(){
int num,sum=0;
printf("请输入一个非负整数:\n");
scanf("%d",&num);
if(num<0){
printf("输入错误!");
exit(-1);
}
sum=DigitSum(num);
printf("其数字之和为%d\n",sum);
return 0;
}
int DigitSum(int n){
if(n<10)
return n;
else{
return n%10+DigitSum(n/10);
}
}