實驗7-1-1 簡化的插入排序 (15分)

本題要求編寫程序,將一個給定的整數插到原本有序的整數序列中,使結果序列仍然有序。

輸入格式:
輸入在第一行先給出非負整數N(<10);第二行給出N個從小到大排好順序的整數;第三行給出一個整數X。

輸出格式:
在一行內輸出將X插入後仍然從小到大有序的整數序列,每個數字後面有一個空格。
code:

#include <stdio.h>
int main()
{
    int n,a[20],x,flag=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++) scanf("%d",&a[i]);
    scanf("%d",&x);
    for(int i=0;i<n;i++){
        if(a[i]>x) {flag=i;break;}
    }
    if(flag==0){
        if(a[0]>x){
            printf("%d ",x);
            for(int i=0;i<n;i++) printf("%d ",a[i]);
        }else{
            for(int i=0;i<n;i++) printf("%d ",a[i]);
            printf("%d ",x);
        }
    }else{
        for(int i=0;i<flag;i++) printf("%d ",a[i]);
        printf("%d ",x);
        for(int i=flag;i<n;i++) printf("%d ",a[i]);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章