有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
问题描述:
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
要求:
输入
输入占两行,第一行包含5个整数,整数之间用空格隔开,第二行包含1个整数,代表要插入的数。
输出
输出占6行,一行包含一个整数。
答
#include<stdio.h>
int main() {
int i,p,b,a[6];
for(i=0;i<5;i++){
scanf("%d",&a[i]);
}
scanf("%d",&b);
//确定之前的顺序
if(a[0]>a[4]){//从大到小
p=0;
for(i=4;i>=0;i--){
if(b<=a[i]){
p=i+1;
break;
}
}
} else{//从小到大
p=5;
for(i=4;i>=0;i--){
if(b>=a[i]){
p=i+1;
break;
}
}
}
for(i=4;i>=p;i--){
a[i+1]=a[i];
}
a[p]=b;
for(i=0;i<6;i++){
printf("%d\n",a[i]);
}
return 0;
}
觉得有用的话采纳一下哈