A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁,问第4个人岁数,他说比第3个人大两岁,问第3个人岁数,他又说比第2个人大两岁,问第2个人岁数,他说比第1个人大两岁,最后问第1个人他说10岁。编写程序,当输入第几个人时求出其对应的年龄。

7 个回复

倒序浏览
#include <stdio.h>
int qiuNianLing(int n);


int main(int argc, const char * argv[])
{

    printf("请输入你要求的人的次数:\n");
   
    int n = 0;
    scanf("%d", &n);
   
    // qiuNianLing(n);
   
    printf("第%d个人的年龄为:%d", n, qiuNianLing(n));
   
    return 0;
}


int qiuNianLing(int n)
{
    //定义变量存储结果
    // int result = 0;
   
    if(n == 1) return 10;

   
    return qiuNianLing(n - 1) + 2;
}
回复 使用道具 举报
递归可以用for循环来实现,而且比较消耗内存,容易绕。
回复 使用道具 举报
是不建议 不是不让
回复 使用道具 举报
梯归太绕了,能不用就不用吧.
回复 使用道具 举报
上课老师讲了,太耗内存了
回复 使用道具 举报
18425178 来自手机 中级黑马 2015-6-22 22:42:18
7#
建议用循环比较好。递归太耗内存
回复 使用道具 举报
尽量用循环来做题目就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马