题目描述:
初始化一维数组中的9个元素a[10]={2,5,6,8,11,15,17,20,25},要求该数组已经按升序排列,从键盘输入一个整数num,并将其插入到数组a中,要求插入操作完成后,数组中的元素仍按升序排列。可根据需要定义变量。
#include <stdio.h>
int main()
{
int a[10]={2,5,6,8,11,15,17,20,25};
//需要补全的代码
for(i = 0; i<n; i++)
printf("%d ", a[i]);
return 0;
}
输入样例:12
输出样例:2 5 6 8 11 12 15 17 20 25
#include <stdio.h>
int main(void)
{
int a[10]={2,5,6,8,11,15,17,20,25};
//需要补全的代码
//起
int i,j,num;
int up,low;
int n=10;
scanf("%d",&num);
low=0;
up=8;
while(low<=up){
if(num>a[(up+low)/2])
low=(up+low)/2+1;
else if(num<a[(up+low)/2])
up=(up+low)/2-1;
}
for(j=9;j>low;j--)
a[j]=a[j-1];
a[low]=num;
//止
for(i = 0; i<n; i++)
printf("%d ", a[i]);
return 0;
}