在一个存放了升序数组的整型数组中,插入若干个整数,要求该数组中的数据仍然保持升序。但是,但是,但是,但是不知道为什么,如果插入的数字都是1 运行结果就有问题,其他数字都可以。懂了懂了懂了,数组里面的序号减到0以下了,所以将while 中的条件改为while(x<a[j]&&j>=0)
#include<stdio.h>
int main(){
int m,j,k,x;
int a[20]={2,5,9,10,21};
printf("how many data of insert?");
scanf("%d",&m);
j=k=4;
for(int i=0;i<m;i++)
{
printf("insret a new number:");
scanf("%d",&x);
while(x<a[j])
a[j+1]=a[j--];
a[j+1]=x;
k++;
j=k;
}
for(int i=0;i<=m+4;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}