B: 查找“凹陷数”
时间限制:1.000s
内存限制:128MB
题目描述
在已知一组整数中,有这样一种数非常怪,它们不在第一个,不在第二个,不在最后一个,也不在倒数第二个,而且刚好都比左边两个和右边两个相邻的数小,你能找到它们吗?
输入格式
第一行为整数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;
}