原题链接:[编程入门]数组插入处理
解题思路:这道题解决思路还是挺多的,可以把最后一个数字也放入数组,然后用直接插入排序或者是选择排序,这样会比较麻烦一点点!然后我们的解题思路就是--把数组的第一个位置或者最后一个位置空出来,有利于数据的移动避免数据被覆盖(本题采用的是空出数组第一个位置,你们也可以试试空出数组的最后一个位置试一下,效果是一样的),话不多说,直接看代码!!
注意事项:
参考代码:
#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分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复