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

思路:
根据题目描述,可知,他们的年龄这么巧,都是依次多2岁(实际生活中能遇到这么巧的事实在不多)。
本题用的知识点就是递归。
递归作为c语言重要的一部分,想必大家都学过(没学过的东西没关系,可以翻翻教材后面即可),所以我这里只用一个c语言代码举例。

// 值在减小、规模也在减小
int f(int n)
{if(n<3)printf("结束\n"); // 递归结束elsen = f(n-1);  // 在此递归
return n;
}// 值在增大、规模却在减小
int f(int n)
{if(n>7)printf("结束\n"); // 递归结束elsen = f(n+1);  // 在此递归
return n;
}

答案:
好啦,既然明白本题知识点,那么做起来肯定容易多了,我们开始吧

#include <stdio.h>
int age(int n)
{int x;    //年龄if (n == 1)    //我们把他们几个人从小到大排序{x = 10;   //第一个人的年龄}elsex = age(n - 1) + 2;return x;}
int main()
{int n;printf("请输入其中一个人的年龄:");scanf("%d", &n);printf("第%d个人的年龄为%d\n", n,age(n));return 0;
}

好啦,我们输出看下
好啦,正确
真诚的希望我的回答可以帮到遇到这个问题的同学。

C语言经典题目:有5个人坐在一起,问他们分别多少岁?相关推荐

  1. c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解

    C语言 经典题目螺旋矩阵 实例详解 C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include #include int main() { int N,i,j,n,num=1; int a[10][ ...

  2. C语言经典题目(一)

    分享之前和大家分享一本书叫做<厚黑学>,这本书可以了解一下社会现实,但是看这本书的时候切记,不可迷失自己.扉页的第一段话和大家分享一下:我自读书识字以来,就想为英雄豪杰,求之四书五经,茫无 ...

  3. C语言经典题目(二)

    失去兴趣的人终将是去奋斗的价值观. --本人 大家好,这一篇文章和大家分享一下C语言经典习题第二章,这些思想挺重要的,是打江山的基础.值得大家看一看. 一.判断一个数是几位数 用户输入一个数,然后用代 ...

  4. C语言经典题目 水仙花数,C语言经典练习题:水仙花数

    废话不说直接进入正题:传说中的水仙花数就是一个三位数的各个位数的三次方之和就是这个数本身例如153=1*1*1+5*5*5+3*3*3. 好,开始解题:首先,题中已经说了水仙花数是一个三位数,也就是说 ...

  5. C语言经典题目(51-60)

        题目051:学习使用按位与 & .     程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 程序源代码: #include " ...

  6. c语言经典题目:求s = a + aa + aaa + aaaa + aa…a的值,其中a是一个数字

    题目描述: 求s=a+aa+aaa+aaaa+aa-a的值,其中a是一个一位的整数. 例如2+22+222+2222+22222(此时共有5个数相加) #include <stdio.h> ...

  7. C语言经典题目——将一个数插入已排序好的数组中

    <1>题目介绍 有一个已排好序的数组,要求输入一个数后,按原来的规律将他插入数组中,例如将3插入 1 ,2 ,4 ,7 ,8, 9 ,10 ,11, 13, 100中,得到1 ,2 ,3, ...

  8. incon函数图像c语言,[转载]c语言经典题目

    1.局部变量能否和全局变量重名? 答:局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量.对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如 ...

  9. C语言考前附加经典题目(偶然看到的、题库题目)

    C语言经典题目 一.选择题 1.下面关于break语句的描述中,不正确的是 A.break可以用于循环体内 B.break语句可以在for循环语句中出现多次 C.break语句可以在switch语句中 ...

最新文章

  1. Ncut matlab 代码bug 修复
  2. web项目中关于引入JS/css文件, 浏览器console出现 net::ERR_ABORTED错误的解决方法
  3. jQuery 效果——显示隐藏/滑动/淡入淡出/自定义动画||事件切换——简洁版滑动下拉菜单
  4. 互相引用 spring_听说你还不知道Spring是如何解决循环依赖问题的?
  5. 【软件测试】《软件测试技术基础》知识点整理
  6. 直接选择排序算法汇总
  7. bootstrap tab切换无效的一种情况
  8. Java面向对象(一)20170517
  9. C# ASCII码字符转换
  10. pandas去除重复列
  11. 人教版计算机三年级教学目标,人教版小学三年级数学下册教学计划
  12. 从四大造字法看文字所承载的文化_举例说明汉语汉字所承载的文化信息?
  13. ant-bable实现表格输入数据
  14. Matlab:License checkout failed. License Manager Error-95解决办法与Matlab加速启动
  15. vue、Steps 步骤条、Steps 属性、vue Steps 所有步骤条样式、vue Steps 步骤条全部属性
  16. P4745 B’s problem(b)
  17. CDH6中的各种目录
  18. Android软件安全与逆向分析下载电子书pdf下载
  19. Linux进程详解(二)完结
  20. 成功KMS激活window8,win2012,office2013,visio2013,project2013

热门文章

  1. Modbus 通讯协议 (RTU传输模式)
  2. optimizeinplace
  3. 0xC000005:Access Violation和指针强制转换问题
  4. JavaScript_函数
  5. python 椭圆曲线_椭圆曲线double和add在python中的实现
  6. 什么是Kusama (KSM)以及与波卡的区别
  7. 项目 Linux 部署 之 配置 PL/SQL Developer 远程连...
  8. MacOS:xcrun: error: invalid active developer path
  9. 【netcore】MiniExcel轻量级开源组件使用
  10. 淘宝商品SKU接口、desc信息、淘宝商品详情API