项目场景:
P1046 陶陶摘苹果
题目描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 1010 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 3030 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知 1010 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入格式
输入包括两行数据。第一行包含 1010 个 100100 到 200200 之间(包括 100100 和 200200 )的整数(以厘米为单位)分别表示 1010 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100100 到 120120 之间(包含 100100 和 120120 )的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式
输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
输入输出样例
输入 #1复制
100 200 150 140 129 134 167 198 200 111
110
输出 #1复制
5
问题描述:
#include<stdio.h>
int main()
{
int a[10];
int h;
int i=0,t=0,n=0;
for(i=0;i<=10;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&h);
for(i=0;i<=10;i++)
{
if(a[i]<=(h+30))
{
t=t+1;
{
}
printf("%d\n",t);
return 0;
}
ps:假如输一个a【4】
那么在scanf时
1
2
3
4
1 2 3 4
因为空格和回车会被跳过
所以就算
1
2
3
4都没问题
原因分析:
1.在实现for语句的时候,考虑究竟是i<10,还是i<=10。具体套入最后一个数
2.循环语句和条件语句都需要另起大括号
3.每一个循环语句都需要重新定初始的值如i=0,n=0勿混用
解决方案:
#include<stdio.h>
int main()
{
int a[10];
int h;
int i=0,t=0,n=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&h);
for(n=0;n<10;n++)
{
if(a[n]<=(h+30))
{
t=t+1;
}
}
printf("%d\n",t);
return 0;
}