在一个有序数组里插入一个数后排序,可是下面这段代码,插入后会把最后一个元素挤掉,求大神解

 

#include <stdio.h>

#define N 30

void SC(int x[])//排序 

{

int i,inum,temp;

scanf("%d",&inum);//输入要插入的数 

for(i=0; i<N; i++)

{

if(x[i]<=inum && x[i+1]>=inum)//找到要插入的位置 

{

temp=x[i+1];

x[i+1]=inum;

inum=temp;

}

}

 }

void Prin(int a[]) //打印 

{

int i;

for(i=0;i<11;i++)

printf("%d ",a[i]);

}

int main()

{

int a[N]={2,5,6,8,10,12,14,16,17,20};//原数组 

int i;

for(i=0;i<10;i++)

  printf("%-4d",a[i]);

  printf("\n");

SC(a);

Prin(a) ;

return 0;

}


four7
浏览 1399回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP