C语言-数组:在排好序的数组中插入一个数
Description
按从小到大的顺序从键盘输入10个整数存入数组int a[11]中,再从键盘输入一个任意整数,将它插入到数组中,要求插入后数组仍然是从小到大排列的。
注意:不允许用排序的方法做 ,即不允许先把数存到数组中然后排序,而是应该先给这个数腾出位置,直接把它存到该位置
Input
输入10个数,然后再输入一个数
如:
1 3 5 7 9 11 13 15 17 19
12
Output
输出插入后的数组内容,如
1 3 5 7 9 11 12 13 15 17 19
Sample Input
1 3 5 7 9 11 13 15 17 19
12
Sample Output
1 3 5 7 9 11 12 13 15 17 19
Code 1 here:
#include <stdio.h>
int main()
{
int a[11];
int i,b,k=0;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
scanf("%d",&b);
for(i=0;i<10;i++){
if(b<=a[i])
{
k=i;
break;
}
}
if(b>=a[9]){
a[10]=b;
}
else{
for(i=9;i>=k;i--){
a[i+1]=a[i];
}
a[k]=b;
}
for(i=0;i<=9;i++){
printf("%d ",a[i]);
}
printf("%d",a[10]);
return 0;
}