选择法给数组中十个整数排序

选择法就是先将十个数中最大的数与a[0]对换;再将a[1]~a[9]中最大的数与a[1]对换…每比较一轮,找出一个未经排序的数中最大的一个,共比较9轮。
程序代码如下:
#include<stdio.h>
#include<stdlib.h>
void sort(int c[], int b)
{
int k, l, m, n;
for (m = 0; m < b - 1; m++)
{
k = m;
for (n = m + 1; n < b; n++)
if (c [n] > c[k ])
k = n;
l = c [k];
c [k] = c [m];
c [m] = l;
}
}
int main()
{
int i;
int a[10] = { 15,20,44,6,48,5,46,88,91,3 };
printf(“十个数为:”);
for (i = 0; i < 10; i++)
printf("%d,", a[i]);
printf("\n");
printf(“十个数由大到小排序为:”);
sort(a, 10); //调用sort函数,a为数组名,大小为10
for (i = 0; i < 10; i++)
printf("%d,", a[i]);
printf("\n");
printf(“十个数中最大的数为:%d\n”, a[0]);
system(“pause”);
return 0;
}
程序运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42644428/article/details/88660038