1146: 零起点学算法53——数组中插入一个数
Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lld
Submitted: 1749 Accepted: 613
[Submit][Status][Web Board]
Description
给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序
Input
多组测试,每组第一行输入一个整数n,然后是n个有序的整数
第二行输入1个整数m和1个整数K
Output
将整数m插入到原数组中保持顺序是升序,然后输出2行
第一行是插入以后的数组
第二行是插入以后的数组中下标值是K的数
n m k不超过20
Sample Input
3 1 2 5 3 1
Sample Output
1 2 3 5 2
Source
1 #include<stdio.h> 2 int main(){ 3 int n,a[50],b[50]; 4 while(scanf("%d",&n)!=EOF){ 5 for(int i=0;i<n;i++){ 6 scanf("%d",&a[i]); 7 } 8 9 int m,k,j=0; 10 scanf("%d%d",&m,&k); 11 for(int i=0;i<n;i++){ 12 if(a[i]<m){ 13 b[j]=a[i]; 14 j++; 15 } 16 else break; 17 } 18 b[j]=m; 19 j++; 20 for(int i=j-1;i<n;i++){ 21 b[j]=a[i]; 22 j++; 23 } 24 25 for(int i=0;i<j-1;i++){ 26 printf("%d ",b[i]); 27 } 28 printf("%d\n",b[j-1]); 29 printf("%d\n",b[k]); 30 } 31 return 0; 32 }
时间: 2024-10-26 19:47:04