题解 | #有序序列插入一个数#

有序序列插入一个数

https://www.nowcoder.com/practice/68ae3b28b4a04e098485c4423e2c6548

#include <stdio.h>
//不定义N+1的数组,直接比较,按顺序打印,若比插入的值小,先打印,否则打印插入的值
int main() {
    int N;
    int i=0;
    int num=0;
    int j=0;          //打印插入值的标志
    scanf("%d",&N);
    int arr[N];
    for (i=0;i<N;i++)
    {
     scanf("%d",&arr[i]);     //先存原来的有序序列
    }
    scanf("%d",&num);         //输入一个需要插入的值
     for (i=0;i<N; i++) 
     {
        if (arr[i]<num) 
        {
            printf("%d ",arr[i]);   //如果数组内的值小,就打印
        }
        else if (arr[i]>num) 
        {
            printf("%d ",num);      //如果插入的值小,就打印,并定义一个已经打印的标志
            j=1;
            break;                //打印插入值之后,跳出循环,否则会一直打印插入值
        }
     }
     for (; i<N; i++)                 //循环打印有序数组的剩余值
     {
          printf("%d ",arr[i]);
     }
     if (j==0) 
     {
            printf("%d ",num);
     }
    return 0;
}

全部评论

相关推荐

07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务