编写程序,实现一维数组排序。对一维数组按照从小到大的顺序排序。程序定义函数sort()来实现数组a的排序。函数原型如下:
void sort(int a[], int n);
数组元素的输出调用PrintArr()。
输入要求:第一行输入一个整数n(1<=n<=10),表示数组有n个整数;第二行输入n个整数。输出要求:输出占一行。对这n个整数数按照从小到大的顺序输出,数据之间用一个空格隔开。
输入样例:
6
6 5 1 2 3 4
输出样例:
1 2 3 4 5 6
- 考察函数,数组和循环结构语句的使用。
#include<stdio.h>
void sort(int a[],int n)
{
int temp,i,j;
for(i=0;i<n-1;i++) //i<n-1是因为数组的最后一位已经在之前的运算中接受了排序。
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{temp=a[i];a[i]=a[j];a[j]=temp;} //注意if的规范书写(加{}),不规范可能出错。
}
}
}
void PrintArr(int a[], int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
int main(void)
{
int len,a[100],i;
scanf("%d",&len);
for(i=0;i<len;i++)
{
scanf("%d",&a[i]);
}
sort(a,len);
PrintArr(a,len);
return 0;
}