用C语言编程求出任意一个一维数组元素中最大值和最小值的下标。数组元素的值由用户键盘输入。?

如题所述

代码: #include<stdio.h>
void main()
{
int a[10],i,max_f,min_f,max,min;
for(i=0;i<10;i++)
{
printf("请输入第%d个数的值(共10个):\n",i+1);
scanf("%d",&a[i]);
if(i==0)
{
max=a[0];
min=a[0];
max_f=0;
min_f=0;
}
else
{
if(a[i]>max)
{
max=a[i];
max_f=i;
}
if(a[i]<min)
{
min=a[i];
min_f=i;
}
} }
printf("最大值的下标是%d(下标从0开始)\n",max_f);
printf("最小值的下标是%d(下标从0开始)\n",min_f);
} 图:
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-17
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAYSIZE 10
#define GETMAXINDEX 0
#define GETMININDEX 1int GetMinMaxIndex(int *array,int iSize,int iMode)
{
int tmp=0;
for (int i=0;i!=iSize;++i)
{
if (iMode && (array[tmp]>array[i]))
tmp=i;
else if (!iMode && (array[tmp]<array[i]))
tmp=i;
}
return tmp;
} int main()
{
int array[ARRAYSIZE],i;
srand((unsigned int)time(NULL));
for (i=0;i!=ARRAYSIZE;++i)
array[i]=rand()%101;
puts("the Array is:");
for (i=0;i!=ARRAYSIZE;++i)
printf("%d ",array[i]);
printf("\nthe Max index is: %d\n",GetMinMaxIndex(array,ARRAYSIZE,GETMAXINDEX));
printf("the Min index is: %d\n",GetMinMaxIndex(array,ARRAYSIZE,GETMININDEX)); return 0;
}
相似回答