(HDOJ2019)数列有序!

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 <math.h>
 3 #include <string.h>
 4 #include <ctype.h>
 5 
 6 int a[110];
 7 int b[110];
 8 
 9 int findindex(int a[], int n, int m)
10 {
11     int i;
12     for(i=0; i<n; i++)
13     {
14        if(a[i]>m)
15        {
16           return i;
17        }
18     }
19     return i;
20 }
21 
22 void insert(int a[], int n, int m)
23 {
24    int i,j,flag;
25    flag=0;
26    j=findindex(a,n,m);
27    for(i=0; i<j; i++)
28    {
29       if(!i)
30       { printf("%d",a[i]);}
31       else
32       { printf(" %d",a[i]);}
33    }
34    if(i==0){ printf("%d",m);}
35    else {printf(" %d",m);}
36    for(; j<n; j++)
37    {
38       printf(" %d",a[j]);
39    }
40    printf("\n");
41 }
42    
43 int main()
44 {
45     int n,m,i;
46     while(scanf("%d%d",&n,&m) && (m*m+n*n!=0)){
47        for(i=0; i<n; i++)
48        {
49           scanf("%d",&a[i]);
50        }
51        insert(a,n,m);
52     }
53     return 0;
54 }

 

posted @ 2013-04-09 22:53  cpoint  阅读(773)  评论(0编辑  收藏  举报
浏览次数:travelocity promotion codes