解题思路:
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二级辅导-进制转换 (C语言代码)浏览:660 |
C二级辅导-等差数列 (C语言代码)浏览:808 |
数列排序 (C语言代码)浏览:606 |
多输入输出练习2 (C语言代码)浏览:1647 |
班级人数 (C语言代码)浏览:919 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:454 |
字符串对比 (C++代码)浏览:555 |
Manchester-弟弟的作业浏览:3990 |
金额的中文大写浏览:3470 |
Manchester- 求之N内的素数浏览:1492 |