题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
代码
#include <stdio.h>
#include <conio.h>
int main(){
int a[6]={1,2,3,9,10};
int i,j,num;
printf("数组为:\n");
for(i=0;i<5;i++)
printf("%4d",a[i]);
printf("\n请输入一个数:");
scanf("%d",&num);
for(i=0;i<6;i++){
if(num<a[i])
break;
}
for(j=5;j>i;j--){
a[j]=a[j-1];
}
a[j]=num;
printf("数组排好序为:\n");
for(i=0;i<6;i++)
printf("%4d",a[i]);
getch();
return 0;
}
运算结果