//1.编写一个函数实现n^k,使用递归实现
/*
#include<stdio.h>
int fun(const int n,int k)
{
if(k==0)
return 1;
else
return n*fun(n,k-1);
}
int main()
{
printf("%d\n",fun(2,10));
printf("%d\n",fun(3,3));
printf("%d\n",fun(2,0));
return 0;
}
*/
2. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
#include<stdio.h>
int DigitSum(unsigned int n)
{
unsigned int value = n;
if(value<10)
{
return value;
}
else
{
value = n % 10;
n = n/10;
return value + DigitSum(n);
}
}
int main()
{
printf("%d\n",DigitSum(1723));
printf("%d\n",DigitSum(12345));
printf("%d\n",DigitSum(1));
printf("%d\n",DigitSum(1729));
return 0;
}
时间: 2024-10-03 07:57:10