有5个人坐在一起,问第五个人多少岁?他说比第四个人大两岁。问第四个人岁数,他说比第三个人大两岁。问第三个人,又说比第二个人大两岁。问第二个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问他们几个人的对应年龄是多少。
递归就是在调用一个函数的过程中又出现直接或间接地调用该函数本身。
#include <stdio.h>
// 定义递归函数计算年龄
int age(int n) {
if (n == 1) {
return 10; // 第一个人年龄为10岁
} else {
return age(n - 1) + 2; // 第n个人年龄比第n - 1个人大2岁
}
}
int main() {
int num;
printf("请输入是第几个人: ");
scanf("%d", &num);
int result = age(num);
printf("第 %d 个人的年龄是 %d 岁\n", num, result);
}
return 0;
}