目录
C/C++苹果和虫子
2019年9月 C/C++编程等级考试一级编程题
一、题目要求
1、编程实现
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每X小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
2、输入输出
**输入描述:**输入仅一行,包括n,X和y(均为整数)。输入数据保证y<=n*X。
**输出描述:**输出也仅一行,剩下的苹果个数。
输入样例:
10 4 9
输出样例:
7
二、解题思路
1、案例分析
1、经过对题目的初步分析,可以使用cmath头文件里面的ceil函数,当然也可以使用if语句判断y/x是否有余数,如果有吃掉的苹果多一个
2、然后用苹果总数减掉吃掉的苹果个数就是最后剩下的完整的苹果个数
3、最后输出对应的结果即可
4、我这边用的是ceil函数的方法
三、程序代码
cpp
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,x,y;
cin>>n>>x>>y;
cout<<n-ceil(y*1.0/x);
return 0;
}
四、程序说明
- 根据题目要求声明三个整形int变量
- 然后利用输入流对象cin,从键盘读取三个变量的值
- 接着需要计算出在y小时内蚂蚁吃掉的苹果个数,这里之所以需要用y*1.0,是因为在c++中除法运算(/)如果两边都是整数返回的就是整数部分,这样计算的结果会有出入,所以需要将其中一个数转化成小数才可以
- ceil函数:是返回大于或者等于指定表达式的最小整数,通俗一点就是向上取整
- 最后利用输出流对象cout,输出最后剩下的完整的苹果个数
五、运行结果
cpp
10 4 9
7
六、考点分析
难度级别:容易,这题相对而言还是比较简单的,具体主要考查如下:
- 整形变量的声明和使用
- 输入流对象cin的使用,与流提取运算符 >>结合使用从键盘读取想要的数据
- if条件判断语句和除法(/)的使用
- cmath头文件的使用,cmath 头文件中包含了一些常用数学函数,比如(abs、pow、floor、ceil、sqrt、sin、cos等等)
- ceil函数:是返回大于或者等于指定表达式的最小整数,通俗一点就是向上取整
- 输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
- 充分掌握变量、条件判断、ceil函数等使用方法
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!