小明面前有一个书架,上面放了 10 本书,每本书可能在不同层放置。为了能拿到书,小明拿了个 30 厘米高的板凳。现在已知 10 本书到地面的高度,以及小明把手伸直的时候能够达到的最大高度,请帮小明算一下她能够拿到的书本数目。假设她碰到书就能拿下来。
输入要求:第一行,10 个整数(以厘米为单位),分别表示 10 本书到地面的高度。第二行,一个2位小数(以米为单位),表示小明把手伸直的时候能够达到的最大高度。
输出要求:一个整数,表示小明能够拿到书本数目。
输入样例:
100 200 150 140 129 134 167 198 200 111
1.10
输出样例:
5
易错点:要把浮点数转换成整数,而且第1行是厘米单位,第2行是米单位
这道题最简单的方法就是 一个个地判断是否<=椅子+小明身高 了。话不多说,直接上代码(c++):
#include<iostream>
#define N 10
using namespace std;
int a[N];
double height;//float也是ok的 ,
int main() {
for(int i=0;i<N;i++)cin>>a[i];
cin>>height;
int ability=int(height*100)+30;//int(height*100)是浮点数转化整数的语句,再加上30厘米凳子的高度
int ans=0;//记录结果
for(int i=0;i<N;i++)//循环枚举
if(ability>=a[i])//如果拿到这本书在能力范围之内
ans++;//能拿到的书本+1
cout<<ans;//输出结果
return 0;
}
算法的长河永无止尽,加油!
计算小明能摸到的最大高度,身高+板凳的30。例子上是110+30=140.
从输入的数中统计<=140的数。