数列有序!
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 }