有一串数字序列,怎么找出最大值或最小值的位置

求助:有一串数字序列,如何找出最大值或最小值的位置
现有一串数字:   A[]={25,13,0,54,89,6,6,98,21,   10,13,42}
如何找出最大值98的位置(7),最小值0的位置(2)。
注意:并不是找出最大值是98,最小值是0。

我穷,没分。等以后有分了给大家多点。
学习才是最重要的。

------解决方案--------------------
#define SIZE(x) (sizeof(x)/sizeof(x[0]))
typedef struct
{
int Data;
int pData;
}S;
main()
{
int A[]={25,13,0,54,89,6,6,98,21, 10,13,42};
S Max, Min;
int i;
Max.Data = Min.Data = A[0];
Max.pData = Min.pData = 0;

for(i = 0; i <SIZE(A)-1; i++)
{
if(A[i] > Max.Data)
{
Max.Data = A[i];
Max.pData = i;
}
if(A[i] < Min.Data)
{
Min.Data = A[i];
Min.pData = i;
}
}
printf( "Max:%d Position:%d\tMin:%d Position:%d ", Max.Data, Max.pData, Min.Data, Min.pData);
}

------解决方案--------------------
#include <iostream.h>
void main()
{
int A[]={25,13,0,54,89,6,6,98,21, 10,13,42};
int j=0;
int max=0,min=0;
int len=sizeof(A)/sizeof(A[0]);
for(int i=0;i <len;i++)
{
for(j=i+1;j <len;j++)
{
if(A[max] <A[j])
max=j;
else if(A[min]> A[j])
min=j;
}
}
cout < < "最大数的位置为: " < <max < <endl < < "最小数的位置为: " < <min < <endl;
}