按要求寻找数组中的数字

如果数组中存在这样的数,这个数比它左边的所有的数大,并且比它右边的所有的数小,则输出这个数字的索引。(不包括最左和最右边的数字)
要是有多个的话则输出所有符合这些数字的下标。
例如:int arr[] = {5,3,6,2,7,10,8,12}; 7比它左边的数都大,比它右边的数都小,所以返回4

输入要求:
第一个数字为数组元素的个数.
之后是数组的元素.
例如
8
5 3 6 2 7 10 8 12
输出 4

 编写代码完成,可以使用C 、C++、basic 、pascal 、java 、C#

按惯例,不提供答案

main()
{ int a[] = {5,3,6,2,7,10,8,12};
int max,min,i,j,k;

for(i=1;i<7;i++)
 { max=a[0];min=a[7] ;
  for(k=0;k<i;k++)
   if(a[k]>max)  max=a[k];
  for(j=i+1;j<7;j++)
   if(a[j]<min) min=a[j];

   if(a[i]>max&&a[i]<min) printf("a[%d]=%d",i,a[i]);

 

 }

   getch();


}

 

posted @ 2009-06-11 17:43  xiao.ji  阅读(234)  评论(0编辑  收藏  举报