题目描述:
陶陶家的院子里有一棵苹果树,每到秋天,树上就会结出10个苹果。当苹果成熟时,陶陶就会跑去摘苹果。陶陶有个30cm高的板凳,当她不能直接伸手摘到苹果时,就会踩到板凳上去试一试。她每摘一个苹果需要力气2点,每次搬板凳需要力气1点。
现在已知10个苹果距离地面的高度(单位:cm)分别为100、200,150、140、129、134、167,198、200、99,又知道陶陶把手伸直的时候能够达到的最大高度为110cm,她摘苹果前的力气为10点。
假设明明碰到苹果,苹果就会掉下来,现在请你算一算,她能够摘到多少个苹果?
输入
一行输入10个苹果的高度值:100 200 150 140 129 134 167 198 200 99
输出
4
样例输入
100 200 150 140 129 134 167 198 200 99
样例输出
4
思路:
这是一道C++的题目,题目描述了陶陶摘苹果的过程,需要我们编写程序来计算她能够摘到多少个苹果。我们可以先将苹果的高度存储在一个数组中,然后遍历数组,对于每个苹果,判断它是否在陶陶的摘取范围内,如果在范围内,则计数器加1,同时减去摘取一个苹果所需要的力气2点;如果不在范围内,则判断是否可以通过搬板凳来摘取,如果可以,则计数器加1,同时减去摘取一个苹果和搬板凳所需要的力气3点。最后输出计数器的值即可。
源代码:
#include <iostream>
using namespace std;
int main() {
int apples[10];
for (int i=0;i<10;i++) {//输入10个苹果的高度
cin>>apples[i];
}
int energy=10;
int sum=0;
for (int i=0;i<10;i++) {//判断能否摘到苹果
if(apples[i]<=110&&energy>=2) {//苹果能直接摘到的情况
energy-=2;
sum++;
}
else if(apples[i]<=140&&energy>=3){//不能直接摘到,但踩上板凳时可以摘到的情况
energy-=3;
sum++;
}
else if(energy<2) break;//如果能量小于2,就不可以继续摘苹果了,没有继续循环的必要了
}
cout<<sum<<endl;//输出结果
return 0;
}
做题链接 :保密
//本作者是新手,刚学没几个月,不喜勿喷。
//没登陆的宝子们可以复制以下代码:
#include <iostream>
using namespace std;
int main() {
int apples[10];
for (int i=0;i<10;i++) {//输入10个苹果的高度
cin>>apples[i];
}
int energy=10;
int sum=0;
for (int i=0;i<10;i++) {//判断能否摘到苹果
if(apples[i]<=110&&energy>=2) {//苹果能直接摘到的情况
energy-=2;
sum++;
}
else if(apples[i]<=140&&energy>=3){//不能直接摘到,但踩上板凳时可以摘到的情况
energy-=3;
sum++;
}
else if(energy<2) break;//如果能量小于2,就不可以继续摘苹果了,没有继续循环的必要了
}
cout<<sum<<endl;//输出结果
return 0;
}