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

有序序列插入一个数

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-07 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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