C++火中取栗 2024年9月c++二级 电子学会中小学生软件编程C++等级考试二级真题答案解析

C++火中取栗
2024年9月 C++编程等级考试二级真题解析
博主推荐
1、C++专栏
2、Python专栏
- 蓝桥杯python选拔赛真题详解
- 蓝桥杯python省赛真题详解
- 蓝桥杯python国赛真题详解
- 信息素养大赛python编程挑战赛
- python等级一级真题解析【电子学会】
- python等级二级真题解析【电子学会】
- python等级三级真题解析【电子学会】
一、题目要求
1、编程实现
据法国诗人拉封丹的寓言《猴子与猫》里说,猴子骗猫取火中的栗子,结果取出后被猴子吃了,猫却因此被烧掉了爪上的毛。现在我们有n只炉子,每只炉子里烤着一些栗子。假设笨猫每次伸爪最多能从一只炉子里抓出k颗栗子,但会被烧掉1撮毛。问笨猫抓出所有的栗子最少要被烧掉多少撮毛?
2、输入输出
输入描述:输入在第一行中给出2个正整数n(100000)和k(10),含义如题面所述。数字间以空格分隔。随后一行给出n个不超过1000的正整数,其中第i个数字表示第i只炉子里烤的栗子的数量。
输出描述:在一行中输出笨猫抓出所有的栗子最少要被烧掉多少撮毛。
输入样例: 5 2 3 4 8 1 15 输出样例: 17二、算法分析
- 从给定题目的初步分析可以看出,本体更多的是看能否整除
- 利用循环结果进行重复输入并处理,每次输入的数字如果能被整除那就加上商
- 如果不可用就在商的基础上加1在累加到统计结果上
- 最后输出即可
三、程序编写
#include <iostream> #include <string> using namespace std; int main() { int n,m,res = 0; cin >> n >> m; for(int i=1;i<=n;i++){ int t; cin >> t; res += (t % m) == 0 ? t / m : (t / m +1); } cout << res << endl; return 0; }本文作者:小兔子编程 作者首页:https://blog.ZEEKLOG.net/frank2102
四、运行结果
5 2 3 4 8 1 15 17五、考点分析
难度级别:容易,这题相对而言还是比较简单的,具体主要考察如下:
- 分析题目 找到解题思路
- 充分掌握变量的定义和使用
- 学会三元运算符的使用
- 学会输入流对象cin的使用,从键盘读入相应的数据
- 学会for循环的使用,在确定循环次数的时候推荐使用
- 学会while循环的使用,在不确定循环次数的时候推荐使用
- 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
- 学会if...else...双分支语句的使用,条件满足执行一种处理,不满足执行另一种处理
- 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
- 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
- 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!