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

有序序列插入一个整数

http://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b

#include <stdio.h>
int main() {
    int n = 0;
    int a[20] = { 0 };
    int m = 0;
    int i = 0;
    //输入第一行
    scanf("%d", &n);
    //循环输入第二行
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    //第三行
    scanf("%d", &m);
    //从后面开始找如果找到比m大的继续往前找
    for (i = n-1 ; i >=0; i--) {
        if (a[i] > m) {
            a[i + 1] = a[i];
        } else {  //如果前一项比m小,那么m就放在这里
            a[i + 1] = m;
            break;
        }
    }
    if (i < 0) {  //还有一种情况就是一直找到最前面发现m都比其他的小,那么把第一个元素放m
        a[0] = m;
    }
    for (int i = 0; i < n+1 ; i++) { //打印输出排序好的数组
        printf("%d ", a[i]);
    }
    return 0;
}
排序 文章被收录于专栏

排序习题

全部评论

相关推荐

2025-12-27 22:14
门头沟学院 Java
点赞 评论 收藏
分享
2025-12-16 17:17
门头沟学院 产品经理
烤点老白薯:他第二句话的潜台词是想让你帮他点个瑞幸或者喜茶啥的
mt对你说过最有启发的一...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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