Time Limit: 1 Sec Memory Limit: 16 MB
Submit: 18648 Solved: 9472
[Submit][Status]
Description
输入一组整数,按从小到大顺序排序后输出。
-----------------------------------------------------------------------------
结合“Append Code”中的代码,编写以下函数:
原型:int get_array(int a[]);
功能:遵循样例格式读取n个输入存放在a[]里,返回值为实际输入的元素个数。
原型:int put_array(int a[], int n);
功能:按格式输出a[]中的前n个元素。
原型:int sort_array(int a[], int n);
功能:把a[]中前n个元素按从小到大排序。
函数的调用格式见“Append Code”。
Input
输入最多不超过N(N<100)个整数,至EOF结束。
Output
在一行中按从小到大排序输出这些整数,两数之间用一个空格分开,行尾有回车。
Sample Input
5 3 2 4 9 8
Sample Output
2 3 4 5 8 9
HINT
“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。
Append Code
append.c,
[Submit][Status]
int main()
{
int array[MAX_SIZE], size;
size = get_array(array);
sort_array(array, size);
put_array(array, size);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 101
int get_array(int a[])
{
int i=0;
while(scanf("%d",&a[i])!=EOF&&i<100)
{
i++;
}
return i;
}
int put_array(int a[],int n)
{
int i;
printf("%d",a[0]);
for(i=1;i<n;i++)
{
printf(" %d",a[i]);
}
printf("\n");
}
int sort_array(int a[],int n)
{
int i,j,k=a[0];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[j]<a[i])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}