【题目描述】
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
【输入】
两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
【输出】
一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
【输入样例】
100 200 150 140 129 134 167 198 200 111
110
【输出样例】
5
解题思路:简单模拟,根据陶陶手臂伸直能达到的最大高度以及使用板凳后能达到的高度,来判断每个苹果是否能被摘到。详细的步骤:
步骤 1:读入数据
- 首先读入10个整数,每个整数表示一个苹果到地面的高度。
- 然后读入一个整数,表示陶陶把手伸直能够达到的最大高度。
步骤 2:计算陶陶能够达到的最大高度
- 陶陶本身能够达到的最大高度为她把手伸直时的高度。
- 当陶陶站在板凳上时,她能够达到的最大高度为她本身的最大高度加上板凳的高度(30厘米)。
步骤 3:判断能摘到的苹果数
- 对于每一个苹果的高度,如果这个高度小于或等于陶陶站立以及站在板凳上能够达到的最大高度,则认为这个苹果能被摘到。
- 对所有能被摘到的苹果进行计数。
步骤 4:输出结果
- 输出陶陶能够摘到的苹果的总数。
#include <iostream>
using namespace std;
int main() {
int appleHeights[10];
int taotaoHeight, rHeight;
int count = 0;
// 读取每个苹果的高度
for (int i = 0; i < 10; ++i) {
cin >> appleHeights[i];
}
// 读取陶陶把手伸直的最大高度
cin >> taotaoHeight;
// 陶陶站在板凳上能够达到的高度
rHeight = taotaoHeight + 30;
// 计算陶陶能够摘到的苹果数
for (int i = 0; i < 10; ++i) {
if (appleHeights[i] <= rHeight) {
count++;
}
}
// 输出结果
cout << count << endl;
return 0;
}


被折叠的 条评论
为什么被折叠?



