查找“凹陷数”,我为什么错了?请大佬帮帮我!!!我毕竟只是一个初一的学生!?

B: 查找“凹陷数”

时间限制:1.000s

 

内存限制:128MB

提交 题目列表 通过: 12 提交: 62 统计

题目描述

在已知一组整数中,有这样一种数非常怪,它们不在第一个,不在第二个,不在最后一个,也不在倒数第二个,而且刚好都比左边两个和右边两个相邻的数小,你能找到它们吗?

输入格式

第一行为整数m,表示输入的整数个数。( 5<= m <=100 ) 第二行为m个整数。

输出格式

若干个凹陷数,每行一个。

样例输入content_copy

5
3 2 1 2 3

样例输出content_copy

1
#include<cstdio>
using namespace std;
int main() {

	int m,i;
	scanf("%d",&m);
	int a[m+1];
	for(int i=1; i<=m; i++)
		scanf("%d",&a[i]);
	for(int i=2; i<m; i++) {
		if(a[i]<a[i-1]&&a[i]<a[i+1])
			printf("%d",a[i]);
	}
	return 0;
}

 

供参考:

#include<stdio.h>

int main()
{
    int a[100],i,n;

    scanf("%d",&n);//第一行输入 n

    for(i=0;i<n;i++)
        scanf("%d",&a[i]);//输入 n 个元素

    for(i=2;i<n-2;i++) //凹陷数
        if(a[i]<a[i-1] && a[i]<a[i-2] && a[i]<a[i+1] && a[i]<a[i+2])
           printf("%d\n",a[i]);
    
    return 0;
}
#include<stdio.h>

int main()
{
    int a[100],i,n;

    scanf("%d",&n);//第一行输入 n

    for(i=0;i<n;i++)
        scanf("%d",&a[i]);//输入 n 个元素

    for(i=2;i<=n-2;i++) //凹陷数
        if(a[i]<a[i-1] && a[i]<a[i-2] && a[i]<a[i+1] && a[i]<a[i+2])
           printf("%d\n",a[i]);
    
    return 0;
}