ACM2.6

作者: 九九询 | 来源:发表于2018-12-14 20:45 被阅读0次

    数列有序!——hdu-2019

    Problem Description

    有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。

    Input

    输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。

    Output

    对于每个测试实例,输出插入新的元素后的数列。

    Sample Input

    3 3
    1 2 4
    0 0

    Sample Output

    1 2 3 4

    问题简述

    第一行输入n,m。其中,n表示从小到大排序好的n个整数序列。m表示即将要插入到序列的整数。将m插入后,新的数列有序的输出。

    程序分析

    可构建一个整形数组,令m为其中的首位元素,然后输入其余元素,再将数组元素从小到大排序后输出。

    AC程序如下:

    //hdu-2019
    #include<iostream>
    using namespace std;
    int main()
    {
        int n, m;
        int a[101];
        while (cin >> n >> m &&(n!=0&&m!=0))
        {
            int s = 0;
            a[0] = m;
            for (int i = 1; i <= n; i++)
            {
                cin >> a[i];
            }
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    int t;
                    if (a[j] > a[j + 1])
                    {
                        t = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = t;
                    }
                }
            }
            for (int i = 0; i <= n; i++)
            {
                if (s != 0)
                    cout << ' ';
                cout << a[i];
                s++;
            }
            cout << endl;
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:ACM2.6

          本文链接:https://www.haomeiwen.com/subject/nxdnhqtx.html