#include <stdio.h>
bool f;
int main(){
int n,i,j;
int a[81];
int m;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
f=true;
scanf("%d",&m);
for(j=0;j<m;j++){
scanf("%d",&a[j]);
}
if(a[0]!=a[1]){
printf("0");
f=false;
}
for(j=1;j<m-1;j++){
if((a[j]>a[j-1]&&a[j]>a[j+1])||(a[j]<a[j-1]&&a[j]<a[j+1])){
if(f==false){
printf(" %d",j);
}
else {
printf("%d",j);
f=false;
}
}
}
if(a[m-1]!=a[m-2]){
if(f==true){
printf("%d",m-1);
}
else printf(" %d",m-1);
}
printf("\n");
}
}
return 0;
bool f;
int main(){
int n,i,j;
int a[81];
int m;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
f=true;
scanf("%d",&m);
for(j=0;j<m;j++){
scanf("%d",&a[j]);
}
if(a[0]!=a[1]){
printf("0");
f=false;
}
for(j=1;j<m-1;j++){
if((a[j]>a[j-1]&&a[j]>a[j+1])||(a[j]<a[j-1]&&a[j]<a[j+1])){
if(f==false){
printf(" %d",j);
}
else {
printf("%d",j);
f=false;
}
}
}
if(a[m-1]!=a[m-2]){
if(f==true){
printf("%d",m-1);
}
else printf(" %d",m-1);
}
printf("\n");
}
}
return 0;
}
之前一直都是RE
改了好多次,原来是数组定义错了 最初定义了好多数组 还把a定义成了二维 原来一维就可以了
还有要注意,格式 这里用到了bool类型 设定第一次输出为true