【九度 01】n个数排序并输出

简介: 【九度 01】n个数排序并输出

一、题意

二、解答过程

方法:冒泡排序。(原因:内存限制32M,时间复杂度为O(n²)属于万级数量满足题意)

冒泡排序:把大的数据往后挪,像气泡一样两两比较以后不断往后挪。

NOTE:

while (scanf("%d",&n)!=EOF)

scanf函数是有返回值的,输入完成返回1。在这里加入 while循环是为了实现 多组数据输入的功能。一旦你输入完一组数据,回车时,就会跳出循环。

#include <iostream>
#include<stdio.h>
int main() {
    int n;
    int buf[100];//定义要保存的100个数
    while (scanf("%d",&n)!=EOF)//输入n并实现多组数据的输入
    {
        for (int i = 0; i <n ; ++i)
        {
            scanf("%d",&buf[i]);//输入待排序的数字
        }
        //冒泡排序的主体
        for (int i = 0; i <n ; ++i)
        {
            for (int j = 0; j <n-1-i ; ++j)
            {
                if(buf[j]>buf[j+1])
                {
                    int temp=buf[j];
                    buf[j]=buf[j+1];
                    buf[j+1]=temp;
                }
            }
        }
        //排序完输出数组
        for (int i = 0; i <n ; ++i)
        {
            printf("%d ",buf[i]);
        }
        printf("\n");
    }
    return 0;
}


目录
相关文章
|
5月前
从大到小输出三个数
从大到小输出三个数
32 0
|
算法
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
104 0
|
11天前
输入3个数a,b,c,按大小顺序输出
输入3个数a,b,c,按大小顺序输出。
71 9
|
16天前
|
机器学习/深度学习
对10个数进行排序
对10个数进行排序。
20 13
|
5月前
|
Java 编译器 C++
位1的个数(C++)
位1的个数(C++)
43 0
输入2个数,计算这2个数的,和商积差余,
输入2个数,计算这2个数的,和商积差余,
82 0
统计字符串中元素的个数(多种方法)
统计字符串中元素的个数(多种方法)
173 0
统计字符串中元素的个数(多种方法)
|
机器学习/深度学习 算法
第k个数
第k个数
123 0