C语言:插入保持原有顺序

//题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
//1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。 
//2.程序源代码:
#include "stdio.h"
main()
{
  int a[11]={1,4,6,9,13,16,19,28,40,100};
  int temp1,temp2,number,end,i,j;
  printf("original array is:\n");
  for(i=0;i<10;i++)
    printf("%5d",a[i]);
  printf("\n");
  printf("insert a new number:");
  scanf("%d",&number);
  end=a[9];
  if(number>end)
    a[10]=number;
  else
  {
    for(i=0;i<10;i++)
    {
      if(a[i]>number)
      {
        temp1=a[i];
        a[i]=number;
        for(j=i+1;j<11;j++)
        {
          temp2=a[j];
          a[j]=temp1;
          temp1=temp2;
        }
        break;
      }
    }
  }
  for(i=0;i<11;i++)
    printf("%6d",a[i]);
}

 

posted @ 2023-02-28 05:11  myrj  阅读(79)  评论(0编辑  收藏  举报