Lenguaje C | inserta un número en una matriz en orden de tamaño

Ejemplo 62: Hay una matriz que se ha ordenado. Después de que se requiere que el lenguaje C ingrese un número, se inserta en la matriz de acuerdo con la regla de clasificación original.

Ideas para la resolución de problemas: asumiendo que la matriz a tiene n elementos, y que se han organizado en orden ascendente, se utilizan los siguientes métodos al insertar un número:

Si el número insertado num es mayor que el último número de la matriz a, coloque el número insertado al final de la matriz a.

Si el número insertado num no es mayor que el último número de la matriz a, se comparará con un [0] a [n-1] sucesivamente hasta que aparezca un [i]> num, lo que significa un [0] a [i -1] El valor de cada elemento es menor que num, y el valor de cada elemento a [i] ~ a [n-1] es mayor que num.

Demostración del código fuente:

#include<stdio.h>//头文件 
int main()//主函数 
{
    
    
  int a[11]={
    
    1,4,6,9,13,16,19,28,40,100};//定义整型数组且赋初值 
  int t1,t2,num,end,i,j;//定义整型变量 
  printf("原来的输出:\n");//提示语句 
  for(i=0;i<10;i++)//遍历输出10个数 
  {
    
    
    printf("%d ",a[i]);
  }
  printf("\n");//换行
  printf("输入要插入的数:\n");//提示语句 
  scanf("%d",&num);//键盘录入要插入的数
  end=a[9];//将最后一个数赋值给end 
  if(num>end)//先和最后一个数比大小 
  {
    
    
    a[10]=num;
  } 
  else
  {
    
    
    //小于的话,依次比较,直到比插入的数大 
    for(i=0;i<10;i++)
    {
    
    
      if(a[i]>num)
      {
    
    
        t1=a[i];
        a[i]=num;
        for(j=i+1;j<11;j++)
        {
    
    
          t2=a[j];
          a[j]=t1;
          t1=t2;
        }
        //把要插入的数放到数组中 
        break;
      }
    }
  }
  printf("插入之后排序:\n");//提示语句 
  for(i=0;i<11;i++)//遍历输出 
  {
    
    
    printf("%d ",a[i]);
  }
  printf("\n");//换行 
  return 0;//主函数返回值为0 
}

Los resultados de la compilación y ejecución son los siguientes:

原来的输出:
1 4 6 9 13 16 19 28 40 100
输入要插入的数:
8
插入之后排序:
1 4 6 8 9 13 16 19 28 40 100

--------------------------------
Process exited after 6.449 seconds with return value 0
请按任意键继续. . .

El lenguaje C inserta un número en la matriz en orden de tamaño.
Más casos pueden ser Go Official Account: entrada de lenguaje C a proficiente

Supongo que te gusta

Origin blog.csdn.net/weixin_48669767/article/details/112748276
Recomendado
Clasificación