C语言每日一练- - -年龄问题

题目:

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

程序分析(直接循环):

第1个人是十岁,每个人以每次加2的顺序依次递增,共加了四次,口算就可以得到第五个人今年18岁。

代码实现:

#include <stdio.h>
int main()
{
	int i=1,sum=10;//i代表人数,sum表示年龄 
	for(i=1;i<5;i++)
	{
		sum+=2;
	 }
	 printf("第五个的年龄是%d岁",sum);
	return 0;
}

代码效果:

程序分析(递归函数):

想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

代码实现:

#include <stdio.h>
int age(n)//递归函数 
int n;
{
	int c=0;
	if(n==1)
    c=10;	
	else
	c=age(n-1)+2;
	return c;

}
int main()
{
	printf("第五个人的年龄是%d岁",age(5));
	return 0;
 }

代码效果:

猜你喜欢

转载自blog.csdn.net/weixin_64131583/article/details/122770642