// 思路来自前面相同一道题的大佬
#include<stdio.h>
int main()
{
int a =0,arr[50],x=0;
scanf("%d",&a);
for(int i = 0;i<a;++i) //接收
{
scanf("%d",&arr[i]);
}
scanf("%d",&x);
int i;
for(int i = a-1;i>=0;--i) //从后遍历数组
{
if(x>arr[i])
{
arr[i+1]=x; break;
}
else
{
arr[i+1]=arr[i]; //依次比较,直到x大于任一元素,否则将比较过的元素在数组中后移一位
arr[i]=x; //x顶替被比较的元素
}
}
for(int i = 0;i<a+1;++i)
{
printf("%d ",arr[i]);
}
return 0;
}

京公网安备 11010502036488号