题库练习——摘苹果


/*# [NOIP2005 普及组] 陶陶摘苹果

题目描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。
苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30厘米高的板凳,
当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,
请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入格式

输入包括两行数据。第一行包含 10 个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)
分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
第二行只包括一个 100$ 到 $120$ 之间(包含 $100$ 和 $120$)的整数(以厘米为单位),
表示陶陶把手伸直的时候能够达到的最大高度。

输出格式

输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

样例 #1

样例输入 #1

100 200 150 140 129 134 167 198 200 111
110

样例输出 #1

5

/*

#include <stdio.h>
int main() {
int taotao;
int sum;
int n1, n2, n3, n4, n5, n6, n7, n8, n9, n10;
scanf("%d %d %d %d %d %d %d %d %d %d\n%d", &n1, &n2, &n3, &n4, &n5, &n6, &n7, &n8, &n9, &n10, &taotao);
if (n1 <= taotao + 30) {
    sum++;
}
if (n2 <= taotao + 30) {
    sum++;
}
if (n3 <= taotao + 30) {
    sum++;
}
if (n4 <= taotao + 30) {
    sum++;
}
if (n5 <= taotao + 30) {
    sum++;
}
if (n6 <= taotao + 30) {
    sum++;
}
if (n7 <= taotao + 30) {
    sum++;
}
if (n8 <= taotao + 30) {
    sum++;
}
if (n9 <= taotao + 30) {
    sum++;
}
if (n10 <= taotao + 30) {
    sum++;
}
printf("%d", sum);
return 0;
}

/ 用了许多if语句,过于繁琐了/

/用数组+for循环改进/

#include <stdio.h>

int main() {
int taotao = 0;
int sum = 0;
int arr1[9];
for (int i = 0; i < 10; i++) {
    scanf("%d", &arr1[i]);

}//想依次扫描数组中的每一个数据;
scanf("%d", &taotao);
//注意把对taotao的扫描放在循环外
for (int j = 0; j < 10; j++) {
    if (taotao + 30 >= arr1[j]) {
        sum++;
    }
}//判断sum++的条件;
printf("%d", sum);
return 0;
}

/主要分为两个循环:扫描,判断大小/

更新2024/10/9

声明:Logic & Superegos ' House|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 题库练习——摘苹果


Be water,my friend.