目录
C/C++苹果和虫子
一、题目要求
1、编程实现
2、输入输出
二、算法分析
三、程序编写
四、程序说明
五、运行结果
六、考点分析
C/C++苹果和虫子
2021年3月 C/C++编程等级考试一级编程题
一、题目要求
1、编程实现
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
时间限制:1000
内存限制:65536
2、输入输出
输入描述:输入仅一行,包括n,x和y(均为整数)。
输出描述:输出也仅一行,剩下的苹果个数
输入样例:
10 4 9
输出样例:
7
二、算法分析
- 本题的关键在于虫子吃苹果需要x个小时
- 在x个小时内只吃一个,依次类推,而最后求的是完整的苹果
- 需要先求出虫子吃完及咬过但是没吃完的苹果可以使用总的时间除以x,然后向上取整
- 最后将总苹果数n减去吃完及咬过但是没吃完的苹果数,并输出即可
三、程序编写
#include<iostream>
#include<cmath>
using namespace std;
int main()
{int n,x,y,t;cin>>n>>x>>y;t = ceil(y*1.0/x);cout<<n - t<<endl;return 0;
}
四、程序说明
- 根据题目要求声明4个整形int变量(n苹果总数,x虫吃完苹果的时间,y经过的时间,t吃掉的苹果数)
- 然后利用输入流对象cin,从键盘读取变量n、x、y的值
- 接着利用ceil函数获取到吃完的苹果个数,(y*1.0/x)之所以要乘以1.0的目的是将除号的一边转化成浮点数,这样除号/才能得出正确的结果,不然除号两边都是整数得到的结果只会保留整数部位;同时在使用ceil函数(向上取整)需要包含cmath头文件
- 最后利用输出流对象cout,输出n-t的值即可
五、运行结果
10 4 97
六、考点分析
难度级别:容易,这题相对而言还是比较简单的,具体主要考查如下:
- 分析题目,找到解题思路
- 学会掌握变量的定义和使用
- 学会输入流对象Cin的使用,从键盘读入相应的数据
- 掌握除法(/)运算的特点以及数据类型转换
- 学会ceil向上取整函数的使用以及cmath头文件的用法
- 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
- 充分掌握变量定义和使用、ceil函数和简单算法知识的使用及输入输出的用法
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!