6-1 简单排序 (100分)

6-1 简单排序 (100分)
设计函数 void bubbleSort(int a[],int n);,实现对整型数组的排序。

输入第一行为一个整数n(0<n<=1000),代表待排序元素的个数。第二行是n个整数,每个整数都不会超过int型的存储范围,为待排序元素。

输出只有一行,为输入的n个待排序元素按从小到大排序后的结果。(建议采用起泡排序算法)

建议设计一个辅助函数:

函数功能:依次输出数组中各个元素,数与数之间用空格分开,最后一个数后没有空格而是换行符

参数说明:数组名,数组内元素个数

void outputData(int data[],int elementCount) ;

函数接口定义:
函数原型如下:
void bubbleSort(int a[],int n);
辅助函数原型:
void outputData(int data[],int elementCount) ;
其中 a 和 n 都是用户传入的参数。 n 是大于0且小于等于1000的整数,代表待排序元素的个数; a 是待排序数组。

辅助函数原型: 其中 data 和 elementCount 都是用户传入的参数。 elementCount 是大于0且小于等于1000的整数,代表元素的个数; data 是待输出的数组。

裁判测试程序样例:
设计了辅助函数后,函数被调用的例子如下:
#include<stdio.h>

void bubbleSort(int a[],int n);

//输出数组中所有元素
void outputData(int data[],int elementCount) ;

int main()
{
int n , i, num[10010] ;

scanf("%d",&n); 
for( i = 0 ; i < n ; i++ ) 
    scanf("%d",&num[i]) ;
bubbleSort(num,n) ; 
outputData(num,n) ;
return 0 ;

}

/* 请在这里填写答案 */
输入样例:
8
49 38 65 97 76 13 27 4
输出样例:
4 13 27 38 49 65 76 97

void bubbleSort(int a[],int n)
{
    int i,j;
    int t;
    for(i=1;i<n;i++)
    {
        for(j=n-1;j>=i;j--)
        {
            if(a[j]<a[j-1])
            {
                t=a[j-1];
                a[j-1]=a[j];
                a[j]=t;
            }
        }
    }
    return;
}
void outputData(int data[],int elementCount)
{
    int i;
    for(i=0;i<elementCount-1;i++)
    printf("%d ",data[i]);
    if(i=elementCount-1)
    {
        printf("%d",data[i]); 
    }
}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页