(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 }
作者:cpoint
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.