从键盘输⼊10个整数,⽤顺序排序法将10个数由⼤到⼩排序后输出。输⼊格式:“%d“输出格式。。。
顺序排序法⼜名选择排序法(Select Sort),每次从数组中寻⼀个最⼤的元素,到之后与数组的第⼀个元素(这⾥的第⼀个元素是随着交换次数⽽变动的,在没发⽣交换时单纯指第⼀个元素,⽽当发⽣⼀次交换后,我们需要再次到⼀个“最⼤值”与第⼆个元素交换)交换,如此反复 N - 1 次就能得到有序数组。
#include "stdio.h"
void printArray(int *p)  //输出数组
{
for (int i = 0; i < 10; i++)
printf("%d ", p[i]);
}
void Sort(int* p)
{
for (int i = 0; i <10; i++)  //⼀共需要循环9次
{
for (int j =1; j <10-i; j++) //每⼀次到最⼩的数放在最后,此后不再遍历
if (p[j] > p[j-1])
{
int t = p[j];  //交换元素
p[j] = p[j-1];
p[j-1] = t;
}
}
}
int main()
{
int a[10];
for (int i = 0; i < 10; i++)
scanf("%d", &a[i]);
Sort(a);
printArray(a);
return 0;
}printf输出格式顺序