主题:兄弟们帮忙,从大到小排序中算法有误!!!
兄弟们帮忙,从大到小排序中算法有误,
void sortl(a,n)/*选择排序函数*/
float a[];
int n:
{int k,i,j;/*k最大值下标,i,j循环控制变量*/
float t;/*中间变量,用于两个数的交换*/
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1}j<n;j++)
if(a[j]>a[k])k=j
t=a[i];a[i]一a[k];a[k]=t;/*进行交换*/
}
}
main()
{
float f[14]={3.0,
5.0,
14.0,
13.0,
6.0,
7.0,
10.0,
9.0,
11.0,
12.0,
4.0,
1.0,
2.0};
sort(f,14);
}
运算之后,排序如下
13
14
12
11
10
9
8
7
6
5
4
3
2
1
如何解决?
谢谢!
void sortl(a,n)/*选择排序函数*/
float a[];
int n:
{int k,i,j;/*k最大值下标,i,j循环控制变量*/
float t;/*中间变量,用于两个数的交换*/
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1}j<n;j++)
if(a[j]>a[k])k=j
t=a[i];a[i]一a[k];a[k]=t;/*进行交换*/
}
}
main()
{
float f[14]={3.0,
5.0,
14.0,
13.0,
6.0,
7.0,
10.0,
9.0,
11.0,
12.0,
4.0,
1.0,
2.0};
sort(f,14);
}
运算之后,排序如下
13
14
12
11
10
9
8
7
6
5
4
3
2
1
如何解决?
谢谢!