对一维数组排序,求纠错
只是一个一维排序,从低到高排,觉得没问题,就是结果不对,求大神纠个错,万分感谢#include<stdio.h>
int main()
{
int a[50]={0},i=0,x,n,j,tmax,z;
int max(int a[],int n);
printf("please input the number:\n");
while((scanf("%d",&a[i]))!=EOF)
{
i++;
}//i个值
n=i-1; //i-1次求最大
for(j=1;j<=n;j++,i--){
tmax=max(a,i); //tmax是数组a中前i个数字中最大数字的序号
if(tmax==i-1) ;
else {x=a[tmax];a[tmax]=a[i-1];a[i-1]=x;}
}//for
for(z=0;z<(n+1);z++){
printf("%d ",a[z]);
}
return 0;
}
int max(int a[],int n){
int tmax=0,q;
for(q=1;q<=n;q++){
if(a[q]>a[tmax]) tmax=q;
}
return (tmax);
}