黑马程序员技术交流社区

标题: 此题求解 [打印本页]

作者: 天凉好个秋。。    时间: 2015-4-21 09:24
标题: 此题求解
有八个人坐在一起,问第8个人多少岁?他说比第7个人大3岁。问第7个人多少岁?他说比第6个人大3岁。问第6个人多少岁?他说比第5个人大3岁。问第5个人多少岁?他说比第4个人大3岁,以此类推,最后问第1个人多少岁?他说是10岁。请问第8个人多大?(C语言)
作者: 丶小千    时间: 2015-4-21 12:41
递归,用for也可以做出来
  1. #include<stdio.h>

  2. int test(int n);

  3. int main()
  4. {
  5.     int age = 0;
  6.    
  7.     age = test(8);
  8.    
  9.     printf("%d\n",age);
  10.    
  11.     return 0;
  12. }


  13. int test(int n)
  14. {
  15.     if(n==1)return 10;
  16.    
  17.     return test(n-1)+3;
  18. }
复制代码

作者: DarkHorseChuck    时间: 2015-4-21 14:34
可以用递归方法解决!
作者: dyb_10101    时间: 2015-4-21 16:11
  1. #include<stdio.h>
  2. int age(int n)
  3. {
  4.     if(n == 1)
  5.     {
  6.         return 10;
  7.     }
  8.     else
  9.     {
  10.         return age(n-1)+3;
  11.     }
  12. }
  13. int main()
  14. {
  15.     int c = age(8);
  16.     printf("第8个人得年龄:%d\n", c);
  17.     return 0;
  18. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2