当前位置:   article > 正文

c语言练习题---递归_使用递归 c编程题

使用递归 c编程题

目录

1、编程题:写一个递归函数digitSum(n),输入一个非负整数,返回组成它的数字之和。

案例: digitSum(1729),则应该返回1+7+2+9,它的和为19

2、编程题:递归实现n的k次方(k>=0)


1、编程题:写一个递归函数digitSum(n),输入一个非负整数,返回组成它的数字之和。

案例: digitSum(1729),则应该返回1+7+2+9,它的和为19

  1. int digitSum(int);
  2. int main() {
  3. int i = 0;
  4. printf("请输入一个非负整数:");
  5. scanf("%d", &i);
  6. printf("sum=%d", digitSum(i));
  7. return 0;
  8. }
  9. int digitSum(int num) {
  10. if (num < 10) {
  11. return num;
  12. }
  13. int res = num % 10;
  14. return res + digitSum(num / 10);
  15. }

解释如下:

2、编程题:递归实现n的k次方(k>=0)

  1. int capital(int ,int );
  2. int main() {
  3. int n = 0;
  4. int k = 0;
  5. printf("请输入n:");
  6. scanf("%d", &n);
  7. printf("请输入k:");
  8. scanf("%d", &k);
  9. printf("n的k次方为:%d", capital(n, k));
  10. return 0;
  11. }
  12. int capital(int n,int k) {
  13. if (k == 1) {
  14. return n;
  15. }
  16. if (k == 0) {
  17. return 1;
  18. }
  19. return n * capital(n, k-1);
  20. }

解释如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/1020149
推荐阅读
相关标签
  

闽ICP备14008679号