题目来源

NOIP2005普及组 第一题

难度

题目

描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 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. for结构
  2. 一维数组

分析算法

陶陶把手伸直的时候能够达到的最大高度(第二行的数据)加上板凳的高度(30厘米)就是陶陶摘到苹果的最大高度。

然后把10个苹果的高度分别与陶陶摘到苹果的最大高度比较,判断陶陶是否能摘到苹果。

由于先输入苹果的高度,后输入陶陶的高度,所以,把10个苹果的高度放到一个一维数组中,方便后面用循环进行比较。

参考代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include<iostream>
using namespace std;
int apple[10];
int main(){
	int taotao, count=0;
	for(int i = 0;i < 10; ++i) cin >> apple[i];//输入每个苹果的高度 
	cin >> taotao;
	for(int i = 0;i < 10; ++i){
		if(apple[i]<=taotao+30) count++; //如果苹果高度小于等于淘淘+板凳的高度 
	}
	cout << count << endl;
	return 0;
} 

image