问题 G: 编写函数:数组的排序 (Append Code)

题目描述

输入一组整数,按从小到大顺序排序后输出。


结合“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”。
输入

输入最多不超过N(N<100)个整数,至EOF结束。
输出

在一行中按从小到大排序输出这些整数,两数之间用一个空格分开,行尾有回车。
样例输入

5 3 2 4 9 8

样例输出

2 3 4 5 8 9

代码如下:

#include<stdio.h>
#define MAX_SIZE 105
int get_array(int a[])
{
	int i = 0;
	while(scanf("%d",&a[i])!=EOF)
	{
		i++;
	}
	return i;
}
int sort_array(int a[],int n)
{
	for(int i=0;i<n-1;i++){
		for(int j=i+1;j<n;j++)
		{
			int t;
			if(a[i]>a[j]){
				t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
	return 0;
}
int put_array(int a[], int n)
{
    for(int j=0;j<n;j++){
        if(j==0){
            printf("%d",a[j]);
        }
        else{
            printf(" %d",a[j]);
        } 
    }
    printf("\n");
    return 0; 
}

int main()
{
    int array[MAX_SIZE], size;
 
    size = get_array(array);
    sort_array(array, size);
    put_array(array, size);
 
    return 0;
}
发布了99 篇原创文章 · 获赞 63 · 访问量 6210

猜你喜欢

转载自blog.csdn.net/m0_43456002/article/details/103114102