刚看了一个题解,直接按顺序输出了序列,因为牛客直接看答案,所以这个想法挺不错的。 下来分享一下我的做法啊:

#include<stdio.h>

int main()
{
	int n, arr[100];
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", arr + i);
	}
	int num;
	scanf("%d", &num);
	int arr2[100];//建一个新数组,存放有序数列
	int j = 0;//新数组的下标
	for (int i = 0; i < n; i++)
	{
		if (arr[i] < num)
		{
			arr2[i] = arr[i];//如果arr[i]<num的话,arr2的前面都是arr数组的元素值
			j++;//arr2下标+1
		}
		else
		{
			
			break;
		}
	}
    arr2[j] = num;//将num写入arr2中,此时num以前都是小于num得数
    j++;
    //从j开始存储比num的数进入数组arr2中
	for (int i = j; i < n+1; i++)
	{
		arr2[i] = arr[i-1];
	}
    //打印
	for (int i = 0; i < n+1; i++)
	{
		printf("%d ", arr2[i]);
	}
}