排序——1. 冒泡排序

2020-05-22  本文已影响0人  辘轳鹿鹿

华中科技大学复试排序题

题目描述

对输入的n个数进行排序并输出。

输入描述:

输入的第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数。

输出描述:

可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。
每组测试数据的结果占一行。

示例1

输入

4
1 4 3 2

输出

1 2 3 4

解题心得:scanf函数返回被输入函数成功赋值的变量个数,我们不知道有多少组数据会被输入到程序中时, 用while(scanf("%d",&n)!=EOF)判断

#include<stdio.h>

int main(){
    int n,i,j,tmp;
    int array[101];
    while(scanf("%d",&n)!=EOF){
        for(i=0;i<n;i++){
            scanf("%d",&array[i]);
        }
        for(i=0;i<n-1;i++){
            for(j=0;j<n-1-i;j++){
                if(array[j]>array[j+1]){
                    tmp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=tmp;
                }
            }
        }
        for(i=0;i<n;i++){
            printf("%d ",array[i]);
        }
          printf("\n");
    }
}
上一篇 下一篇

猜你喜欢

热点阅读