7-3 Orden de inserción simplificado (15 puntos)

7-3 Orden de inserción simplificado (15 puntos)

Esta pregunta requiere escribir un programa para insertar un entero dado en la secuencia originalmente ordenada de enteros para que la secuencia resultante aún esté en orden.

Formato de entrada: la
entrada primero da un número entero no negativo N (<10) en la primera línea; la segunda línea da N números enteros ordenados de pequeño a grande; la tercera línea da un número entero X.

Formato de
salida : genera una secuencia de números enteros en orden de pequeño a grande después de insertar X en una línea, con un espacio después de cada número.

Ejemplo de entrada:
5
1 2 4 5 7
3
Ejemplo de salida:
1 2 3 4 5 7

#include <stdio.h>

int main()
{
    
    
	int n,i,x;
	int a[20];  //循环中,会出现下标越界,不报错但是答案就错了,所以为了避免这些情况,要么设定一个大一点的数组,要么重新设定一个数组
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	scanf("%d",&x);

	int j,num;
	for(i=0;i<n;i++)
	{
    
    
		if(a[i]>x)
		{
    
    
			for(j=n;j>i;j--)
				a[j]=a[j-1];
			break;
		}
	}
	a[i]=x;
	for(i=0;i<=n;i++)
		printf("%d ",a[i]);
	
}

Supongo que te gusta

Origin blog.csdn.net/xiahuayong/article/details/109274706
Recomendado
Clasificación