题目描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 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
代码:
/*
先用循环输入十个数据,输入时以回车作为输入结束标志 ,
把输入的数据保存在数组b中,再输入一个数据,将这个数据
加上30赋值给max,让max和数组中的十个数进行比较,如果max
大于数组中的数,就进行累加,最后累加的和就是陶陶够到的苹果数
*/
#include<stdio.h> //头文件
int appleNum();
//主函数
int main(void){
printf("%d",appleNum());//调用函数
return 0;
}
int appleNum(){
/*
a:当做输入数据时的变量 max:存放陶陶伸手够到的最大高度
num:记陶陶够到的苹果数 数组b存放十个数据
*/
int i,a,max,num=0,b[10];
char c; //字符c用来接收回车字符
for(i=0;i<10;i++){
scanf("%d",&a); //输入数据
b[i]=a; //把输入的数据存在数组b中
if( (c=getchar())=='\n' ){ //判断输入的是否是回车,若是回车则终止输入
break;
}
}
scanf("%d",&a); //再次输入数据
max=a+30; //陶陶伸手够到的最大高度,此时需要加上凳子的长度
//下面for循环是用来判断陶陶能够到的苹果数
for(i=0;i<10;i++){
if(max>=b[i]){
num++;
}
}
return num; //返回陶陶够到的苹果数
}