作业帮 > 综合 > 作业

编写一个程序将以下一组数从大到小排列后输出(C语言) 如a[10]={58,37,126,10,13,20,87,15,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 12:33:39
编写一个程序将以下一组数从大到小排列后输出(C语言) 如a[10]={58,37,126,10,13,20,87,15,24,40}
可以自己写各种排序算法来完成.最长用的是冒泡排序,也是最慢的.还有插入排序,选择排序,归并排序,快速排序.stdlib库提供了快速排序,可以直接使用.
#include
#include
static int my_cmp(const void *v1,const void *v2);
int main(void)
{
int i;
int a[10] = {58,37,126,10,13,20,87,15,24,40};
/* 使用系统库的快速排序 */
qsort(a,sizeof a / sizeof a[0],sizeof a[0],my_cmp);
/* 输出结果 */
for (i = 0; i < 10; i++)
printf("a[%d]:%d\n",i,a[i]);
return 0;
}
static int my_cmp(const void *v1,const void *v2)
{
return (*((int *)v2) - *((int *)v1)); /* 从大到小,所以v2 - v1 */
}