交换法排序
题目内容:
从键盘输入n个(n≤10)整数,用交换法进行排序(非递减有序),结果输出排序后的序列。说明:交换法排序用函数实现,函数原型为:void sort(int *a,int n); 交换法排序的基本思想是:n个元素共需要n-1趟,其中第i(从0变化至n-2)趟的任务是找出本趟中最小的元素放在下标为i的位置上,每趟通过从i+1到n-1下标的元素逐个与i下标元素比较及时交换进行排序。
#include <stdio.h>
void shuru(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
}
void da(int z[],int n)
{
int x, c, temp, i;
for (x = 0; x < n; x++)
for (c = 0; c < n - 1; c++)
{
if (z[c] > z[c + 1])
{
temp = z[c + 1];
z[c + 1] = z[c];
z[c] = temp;
}
}
for (i = 0; i < n; i++)
printf("%d ", z[i]);
printf("\n");
}
int main()
{
int n;
int a[10];
scanf("%d", &n);
shuru(a, n);
da(a, n);
}