C语言学习-菜鸟教程C经典100例-练习28

题目

有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?


思路

age(1)=10,
age(2)=age(1)+2=12,
age(3)=age(2)+2=14,
age(4)=age(3)+2=16,
age(5)=age(4)+2=18.
用递归实现


代码

#include <stdio.h>

int age(int n){
    if(n == 1){
        return 10;
    }else{
        return age(n - 1) + 2;
    }
}

int main(){
    printf("第五个人的年龄是:%d\n", age(5));

    return 0;
}

输出结果

第五个人的年龄是:18

更多推荐