请各位高手帮忙指点一下错误
菜鸟写了一个程序,找出一个数组的最大值和最小值。但是输出总是不对,比如我输入1,2,3,4,5.
输出为min=4,max=2
原因一直没有找出来,请各位高手帮帮忙吧!!
谢谢!!!
float minage(float x[]) /*求最小值*/
{
int i,j;
float t;
for(j=0;j<4;j++)
{
for(i=0;i<=5-j;i++)
{
if(x[i]>x[i+1])
{
t=x[i];
x[i]=x[i+1];
x[i+1]=t;
}
}
}
return(x[0]);
}
float maxage(float x[]) /*求最大值*/
{
int i,j;
float t;
for(j=0;j<4;j++)
{
for(i=0;i<=5-j;i++)
{
if(x[i]>x[i+1])
{
t=x[i];
x[i]=x[i+1];
x[i+1]=t;
}
}
}
return(x[4]);
}
main()
{
int i;
float min,max;
float a[5];
printf("enter 5 numbers:\n");
for(i=0;i<=4;i++)
{
scanf("%f",&a[i]);
}
min=minage(a);
max=maxage(a);
printf("min=%f\n",min);
printf("max=%f\n",max);
}