小生.. 2021-11-02 14:52 采纳率: 44.4%
浏览 386
已结题

有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中

有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
要求:
输入
输入占两行,第一行包含5个整数,整数之间用空格隔开,第二行包含1个整数,代表要插入的数。
输出
输出占6行,一行包含一个整数。

  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-11-02 15:11
    关注
    #include<stdio.h>
    int main() {
        int i,p,b,a[6];
        for(i=0;i<5;i++){
            scanf("%d",&a[i]);
        }
        scanf("%d",&b);
        //确定之前的顺序
        if(a[0]>a[4]){//从大到小 
            p=0;
            for(i=4;i>=0;i--){
                if(b<=a[i]){
                    p=i+1;
                    break;    
                }
            }
        } else{//从小到大
            p=5;
            for(i=4;i>=0;i--){
                if(b>=a[i]){
                    p=i+1;
                    break;    
                }
            }        
        } 
        for(i=4;i>=p;i--){
            a[i+1]=a[i];
        }
        a[p]=b;
        for(i=0;i<6;i++){
            printf("%d\n",a[i]);
        }
        return 0;
    }
    


     觉得有用的话采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日