题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=18
C语言源码:
#include<stdio.h>
int main()
{
int n,k,i,a[100],num;
while(scanf("%d",&n)!=EOF)
{
while(n)
{
n--;
scanf("%d",&k);
for(i=0;i<k;i++)
scanf("%d",&a[i]);
num=0;
if(a[0]!=a[1])
{
printf("%d",0);
num=1;
}
for(i=1;i<k-1;i++)
{
if((a[i]>a[i+1]&&a[i]>a[i-1])||(a[i]<a[i+1]&&a[i]<a[i-1]))
{
if(num==0)
{
printf("%d",i);
num=1;
}
else
printf(" %d",i);
}
}
if(a[k-1]!=a[k-2])
{
if(num==0)
{
printf("%d",k-1);
num=1;
}
else
printf(" %d",k-1);
}
printf("\n");
}
}
}
本文提供了一段使用C语言编写的代码,该代码用于找出数组中的所有峰值元素,并打印出这些峰值元素的位置索引。峰值元素定义为比其相邻元素大的元素。此代码通过循环遍历数组并比较每个元素与其相邻元素来实现这一功能。
364

被折叠的 条评论
为什么被折叠?



