问题:有五个热坐在一起,问第五个人的年龄,他说,他比第四个人大 2 岁。问第四个人,他说比第三个人大 2 岁。问第三个人,他说比第个二人大 2 岁。问第二个人,他说比第一个人大 2 岁。最后问第一个人,他说他10岁
要求:利用递归函数来解决
int age(int n)
{
int f;
if(n==1) // 设置循环停止的条件
f=10;
else
f=age(n-1)+2;
return f;
}
运行结果如下
参考代码如下
#include <stdio.h>
int age(int n)
{
int f;
if(n==1)
f=10;
else
f=age(n-1)+2;
return f;
}
main()
{
int i,j;
printf("你想知道第几个人的年龄:\n");
scanf("%d",&i);
j=age(i);
printf("年龄是 %d",j);
printf("\n");
}