算法思路:首先比较数组中元素与插入值的大小,确定插入值的下标,然后根据下标进行移动。
代码部分:
#include<stdio.h>
int main()
{
int a[5]={10,20,30,40,50};
int i,n,temp;
printf("input a number:");
scanf("%d",&n);
//查找数组中第一个大于n的元素下标
for(i=0;i<5;i++)
{
if(a[i]>n)break;
}
temp=i;
//后移操作
for(i=4;i>=temp;i--)
{
a[i+1]=a[i];
}
a[temp]=n;
for(i=0;i<6;i++)
{
printf("%4d",a[i]);
}
printf("\n");
return 0;
}
运行结果: