哈喽哈喽大家好!下面我们来看如何利用数组进行简单排序。
题目:
输入一个整数n(n<100)和 n个整数,将n个整数按照从小到大的顺序输出。
样例输入
输入整数n 和 n个整数。
样例输出
从小到大的顺序输出这n个整数。
注意:整数之间有1个空格,最后一个整数后面没有空格。
用例输入
5
4 29 8 7 3
用例输出
3 4 7 8 29
具体步骤:先遍历数组,记录数据位置,若后一个数字小于前一个数字,数据位置改变,较小的数字代替较大数字位置,再进行数组交换。
具体代码实现如下:
#include<stdio.h>
void main()
{
int a[100]={0}, i, j, t, p, n;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf_s("%d", &a[i]);
for (i = 0; i < n; i++)
{
p = i;
for (j = i + 1; j < n; j++)
if (a[j] < a[p]) p = j;
if (i != p)
{
t = a[i];
a[i] = a[p];
a[p] = t;
}
printf("%d", a[i]);
if (i < n-1)
printf(" ");//最后一个数字后没有空格
}
}
大家再见!