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
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 #include<string.h>
 5 int main()
 6 {
 7     int n,m;
 8     int i;
 9     int dig[200];
10     int p;
11     while (1)
12     {
13         scanf("%d%d",&n,&m);
14         if (0==n&&0==m) break;
15         memset(dig,0,sizeof(dig));
16         for (i=0;i<n;i++)
17             scanf("%d",&dig[i]);
18         p=n;
19         for (i=0;i<n;i++)
20             if (m<dig[i])
21             {
22                 p=i;
23                 for (i=n;i>p;i--)
24                     dig[i]=dig[i-1];
25                 break;
26             }
27         dig[p]=m;
28         for (i=0;i<n;i++)
29             printf("%d ",dig[i]);
30         printf("%d
",dig[i]);
31     }
32     return 0;
33 }

 

原文地址:https://www.cnblogs.com/leiyuxiang/p/3493280.html