数组~插队

题目描述

有一个按照升序已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。

输入

第一行,原始数列。 第二行,需要插入的数字。

输出

排序后的数列

样例输入

1 7 8 17 23 24 59 62 101
50

样例输出

1
7
8
17
23
24
50
59
62
101


#include<stdio.h>
int main(){
    int n;
    int a[15];
    int i;
    //第一个循环输入数组
    for(i=1;i<=9;i++){
        scanf("%d",&a[i]);
    }
    scanf("%d",&n);
    //第二个循环找插入数字的位置
    // while(n>a[i]){
    //     i++;
    // }
    //第三个循环插入后对原数组的下表后移
    //第四个循环输出

    for(int j=1;j<=9;j++){
        if(n>=a[j-1] && n<=a[j]){
            printf("%d\n",n);
        }
        printf("%d\n",a[j]);
    }
    return 0;
}

solution:将数字插入到已排好队的序列中去:为了在输出时不用再改变原数组的序号让插入数之后的数字一一后移~一找到合适的位置就将插入数输出

    即在输出数组的时候插入了一步输出插入数

posted on 2022-11-16 20:03  罗小罗佳油  阅读(40)  评论(0编辑  收藏  举报