解题思路:这道题解决思路还是挺多的,可以把最后一个数字也放入数组,然后用直接插入排序或者是选择排序,这样会比较麻烦一点点!然后我们的解题思路就是--把数组的第一个位置或者最后一个位置空出来,有利于数据的移动避免数据被覆盖(本题采用的是空出数组第一个位置,你们也可以试试空出数组的最后一个位置试一下,效果是一样的),话不多说,直接看代码!!


注意事项:

参考代码:

#include
int main()
{
    int i, j,x;//i   j用来遍历数组  x用来存储最后一个数字
    int arr[10] = {}; //定义一个长度为10的数组
    //遍历输入数组-0下标保留
    for (i = 1; i < 10; i++) {
            scanf("%d", &arr[i]);
    }
    //输入需要插入的数字x
    scanf("%d", &x);
    //数组下标为0没有储存数据
    for (j = 1; j < 10; j++) {
        //从下标1开始 如果小于x就让数据前移一位,然后x插入,依次遍历
        if (arr[j] < x) {
            arr[j-1] = arr[j ];
            arr[j] = x;
            //printf("%d \n", arr[j]);
       }
        
    }
    //最后把排序好的数组输出
    for (int i = 0; i < 10; i++) {
        printf("%d \n", arr[i]);
    }
    return 0;
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论