1933: 数列有序!

1933: 数列有序!

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit:
130  Solved: 50
[Submit][Status][Web
Board
]

Description

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

Input

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

Output

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

Sample Input

3 3
1 2 4
0 0

Sample Output

1 2 3 4
#include<stdio.h>
int main()
{
    int n,m,i,j,temp;
    int a[101],b[101];
    while(scanf("%d%d",&n,&m)&&m&&n)
    {
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(i=0;i<=n;i++)
        {
            if(i<n)
                b[i]=a[i];
            else if(i==n)
                b[i]=m;
        }
        for(i=0;i<=n-1;i++)
            for(j=0;j<=n-i-1;j++)
            {
                if(b[j]>b[j+1])
                {
                    temp=b[j];
                    b[j]=b[j+1];
                    b[j+1]=temp;
                }
            }
        for(i=0;i<=n;i++)
            printf("%d ",b[i]);
        printf("\n");
    }
    return 0;
}

  

 

原文地址:https://www.cnblogs.com/mjn1/p/8728540.html

时间: 2024-08-02 19:45:07

1933: 数列有序!的相关文章

hdoj-2019 数列有序!【水】

数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 59240    Accepted Submission(s): 25564 Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多个测试实例

HDU2019 数列有序!

问题链接:HDU2019 数列有序!.入门训练题,用C语言编写程序. 也许对于本题,会考虑用插入排序来做,那就有点绕远了.只要做排序就有可能可能做数据交换,处理时间就长了. 可以考虑输入的n个数据先存放在数组中,再输出. 各种方案中,一边输入数据,一边输出数据,并且在适当位置输出m的做法,应该是优选方案.因为这样做,省去了数组,没有使用额外空间. AC程序如下(正解): /* HDU2019 数列有序! */ #include <stdio.h> int main(void) { int n,

杭电 2019 数列有序!

http://acm.hdu.edu.cn/showproblem.php?pid=2019 数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 44844    Accepted Submission(s): 19451 Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给

hdu 2018 数列有序!(java)

问题: 再插入数字时,没有中断循环,导致从输入数处再次循环,如下错误结果: 3 3 1 2 4 1 2 3 3 4 3 1 2 4 5 1 2 3 3 4 当循环完成后记得中断: 数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 57301    Accepted Submission(s): 24693 Problem De

HDU 2019 数列有序!

Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u   Java class name: Main [Submit] [Status] [Discuss] Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是

AC日记 - - - 22——数列有序

Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列.n和m同时为0表示输入数据的结束,本行不做处理. Output 对于每个测试实例,输出插入新的元素后的数列. Example Input 3 3 1 2 4 0 0 Example Output 1 2 3 4 Hint 1 #i

数列有序

此题可先将排好的数列计入数组,然后讲要插入的数放进,再重新排列: 另一种方法

HDOJ 2019 数列有序!

#include<vector> #include<iostream> #include<algorithm> #include<cstdio> using namespace std; bool cmp(int a, int b) { return a < b; } bool cmp2(int a, int b) { return a > b; } int main() { int n, m; while (cin >> n &am

杭电2019 数列有序!(STL解法)

由于这题对于学过数据结构的我来说,真的是很简单,为了减少时间上的损失,链表无疑是最好的选择(因为数组要往后移位子).然后,因为最近想玩些STL的骚操作,所以就用<list>了,然后顺便学了下迭代器的用法,其原理其实和指针差不多,就是比指针安全.然后,在a题的过程中发现指针的+-还是有些问题的,所以,就用数值代替了.闲话不多说,奉上ac代码: #include <iostream> #include<math.h> #include <iomanip> #in