给定一个从小到大有序的整数序列,将其保存至数组。另外输入一个整数,将其插入至这个数组中并保持数组有序。
输入描述
第一行有一个正整数n,表示原始的整数序列长度为n,保证n不超过50。
第二行有n个整数,表示原始的整数序列,保证这个序列是从小到大给出的。
第三行有一个整数,表示需要插入的整数。
输出描述
在一行中输出n+1个整数,表示完成插入的整数序列。每个整数后输出一个空格。
请注意行尾输出换行。
样例输入
10
1 2 3 4 5 6 7 9 10 11
8
样例输出
1 2 3 4 5 6 7 8 9 10 11
#include<stdio.h>
int main()
{
int a[100];
int m, n, h, i, j;
scanf("%d",&n);
for(h = 0;h < n; h++)
scanf("%d",&a[h]);
scanf("%d", &m);
for (i = 0; i < n; i++){
if (a[i] > m)
break;
}
j = i;
for (i = n-1; i >= j; i--)
a[i + 1] = a[i];
//逆向比较,直接将a[i]的值赋值给前一位,直至正好到j
a[j] = m;
for (i = 0; i < n+1; i++)
printf("%d ", a[i]);
printf("\n");
}