代码如下:
#include<stdio.h>
int main()
{
int i,j,n,s;
static int a[11]={127,3,6,28,54,68,87,105,162,18};
for(i=0;i<11;i++)
{
for(j=0;j<11-i;j++)
{
if(a[j]<a[j+1])
{
int max=a[j+1];
a[j+1]=a[j];
a[j]=max;
}
}
}
for(i=0;i<11;i++)
printf("%-5d",a[i]);
printf("\nenter a number:");
scanf("%d",&n);
int t;
for(i=0;i<11;i++)
{
if(n>a[i]) //循环判断数组中第一个比你输入的数值小的数
{
for(t=10;t>=i;t--) //把你判断到的第i个元素以后的元素向后移一位(这是重点)
{
a[t]=a[t-1];
}
a[i]=n;//把后面的元素完成移位后把输入的数值写入i元素
break; //退出判断大小的循环
}
}
for(i=0;i<11;i++)
printf("%-5d",a[i]);
return 0;
}