向有序数组中插入一个元素,使数组仍有序。

时间:2022-07-26 10:47:53
#include<stdio.h> 
int main() 

int a[10]={2,10,23,36,56,64,78,85,97}; /* 定义一个含有9个数据的数组 */
int i,m,n; 
printf("请输入一个数据:"); 
scanf("%d",&n);/* 输入一个新的数据 */
for (i=0;i<9;i++) 

if (n<a[i]) /* 判断新数据在原数组中的位置 */
{
m=i;
break;
} /* 用m记录下位置,并跳出整个循环 */
}
for(i=8;i>=m;i--) 
a[i+1]=a[i]; /* 在m位置之后的数据全部往后挪一位 */


a[m]=n; /* 把新数据放入m位置 */


for(i=0;i<10;i++)
printf("%4d",a[i]); /* 输出新数组 */
return 0;
}