#include<stdio.h>
int main()
{
int n,k=0,a[10000];
scanf("%d",&n);
//int a[n];
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=1;i<n-1;i++)
{
int mid=a[i];
int left=a[i-1],right=a[i+1];
if(right==mid)
{
i++;
right=a[i+1];
}
if(mid<left&&mid<right)k++;
}
printf("%d",k);
}
洛谷P1321,示例没问题,想知道代码哪里错了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
a7464553 2023-01-22 21:21关注代码中未考虑数组越界的情况,可以在for循环的判断条件中加入i>0,i<n-1的判断,以防止数组越界。
解决 无用评论 打赏 举报 编辑记录