|   | #2qwq1984067282019-07-25 01:12 | 
      图片是运行效果图
想要实现一个排序好一个数组 然后输入一个数 插入数组 重新排列输出 看了半天不知道为毛错了感觉逻辑没错
#include "stdio.h"
#include"stdlib.h"
int main(void)
{
    int a[]={123,321,456,654,789,987,444,666,555};
    int re;
     int lengh=sizeof(a)/sizeof(int);/*获取数组长度 */
        int import;
     
    int p=0;
    for (int i = 0; i<lengh; i++)
    {
        for (int j = i+1; j<lengh ;j++)/*排序代码 */
        {
            if(a[i]>a[j] )
            {  p =a[i];
              a[i]  =a[j];
              a[j] = p;
            }
                   /* code */
        }
          /* code */
    }
     for (int i = 0; i < lengh; i++)/*遍历数组 */
            {
                printf("%d   ",a[i]);
                /* code */
            }      
        scanf("%d",&import);/*输入一个数 */
        /* a[]={123,321,456,654,789,987,444,666,555};*/
       a[lengh]=import;/*将数放入数组末加一个元素 */
       lengh++;/*长度加1 */
     for (int i = 0; i <lengh; i++)
        {
             if (a[i]>a[lengh-1])/*如果a[i]小于a[lengh-1]交换位置*/
             {int t;
              t=a[i];
              a[i]=a[lengh-1];
              a[lengh-1]=t;
              re=i;/*记录i */          
              break;
            }       
        }
     for (int i = re; i<lengh; i++)/*从开始排序排序 */
        for (int j = i+1; j<lengh ;j++)
        {
            if(a[i]>a[j] )
            { 
              p=a[i];
              a[i]=a[j];
              a[j]=p;
            }
        }
         
        for (int i = 0; i < lengh; i++)/*遍历输出 */
      {
        printf("%d   ",a[i]);
      
     }      
system("pause");
    return 0;
}
  
