解题思路:
1.按照给定的顺序找到可插入的点的下标
2.插入要插入的数输出
注意事项:
1.找到的下标以后的数要后移一位
参考代码:
#include<stdio.h>
int main(void)
{
int i,j; //循环变量
int array[10]; //定义数组,存储排好序的9个数,因为还要插入一个数,所以长度定义为10
int index; //用来记录下标
int num; //要插入的数
printf("请输入一组有序的数:\n");
for(i=0;i<9;i++)//循环录入
{
scanf("%d",&array[i]);
}
printf("请输入你要插入的数字:\n");
scanf("%d",&num);
for(i=0;i<9;i++)//找出可插入的点,即下标
{
//以下找出的是排序为从小到大的插入点,如果你的排序为从大到小就为:num>=array[i]
if(num<=array[i])
{
index=i;
break; //找到下标后就退出循环
}
}
//插入点以后的的数都要往后移一位,在插入点让出一个数的空间
for(j=9;j>index;j--)
{
array[j]=array[j-1];
}
array[i]=num;//按照下标将要插入的数给其赋值
printf("最后结果是:\n");
for(i=0;i<10;i++)
{
printf("%d\n",array[i]);
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复