n个数的排序
Problem Description
LeiQ当上了体育委员,现在老师让他去给班级里的人排队,LeiQ刚学了排序,所以他想以这种方式给班级里的人排队(从矮到高),他想知道排序完成后的结果。
Input
多组输入,每组的第一行是一个正数n(1<=n<=100),第二行是n个数,表示每一个人的高度。
Output
输出排序完成后的结果。
Example Input
3
176 175 174
Example Output
174 175 176
代码:
#include <stdio.h>
#include <stdlib.h>
void sort(int *p, int n);
int main()
{
int i, n, a[100];
while(scanf("%d", &n) != EOF)
{
for(i = 0; i < n; i++)
{
scanf("%d", a+i);
}
sort(a, n);
for(i = 0; i < n; i++)
{
if(i == n - 1)
{
printf("%d\n", a[i]);
}
else
{
printf("%d ", a[i]);
}
}
}
return 0;
}
void sort(int *p, int n)
{
int i, j, temp;
for(i = 0; i < n - 1; i++)
{
for(j = i + 1; j < n; j++)
{
if(*(p + i) > *(p + j))
{
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
}