有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中,谭浩强《c语言程序设计》第六章第四题
题目
本题是谭浩强《c语言程序设计》第六章第四题
题目:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
1.首先,数组中的元素是已经排好序的,我们需要比较输入的数x与数组中的元素逐一进行比较。
2.比较过程中采用从后往前比较,我们需要把输入的数下标置为最后一位end,和前一位比较,如果大于前一位,就不用动,如果小于前一位,就使前一位数与end交换。
3.如果end比任何数都小,到第一位再比较时会发生end = -1导致数组越界,因此需要加限制条件end >= 0;
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int main() {int c=0;int a[10] = {0, 1,2,3,4,6,7,8,9 };int end = 8;int i;scanf("%d", &c);for (i = 0; i < 9; i++)printf("%d", a[i]);printf("\n");//找待插入元素在数组中的位置-从后往前来进行查找while (end >= 0 && c < a[end]){a[end + 1] = a[end];//第一趟:当a【8】中的元素比输入的数大时,将a【8】移到a【9】。也就是说进入循环条件后就把满足条件的数往后挪一位end--;}a[end + 1] = c;//插入元素到找到的位置for (i = 0; i < 10; i++)printf("%d", a[i]);printf("\n");return 0;
}
执行结果
输入:5
输出:
012346789(排序前)
0123456789(排序后)
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中,谭浩强《c语言程序设计》第六章第四题相关推荐
- C语言学习之有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中 #include <stdio.h> void main(){int a[11]={25,32,65,74,84,9 ...
- 有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数组中
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中 思路:先定义一个数组,留出一个位置,给输入的那个数一个地方.然后分两种情况: 1:输入的数比最大的数小,两两交换位置,直到大于相 ...
- 4.19 C语言练习(已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中)
[练习] 题目要求:已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入:第一行,原始数列. 第二行,需要插入的数字. 输出:排序后的数列例如:输入:1 7 8 ...
- 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
题目描述 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入 第一行,原始数列. 第二行,需要插入的数字. 输出 排序后的数列 样例输入 1 7 8 17 23 2 ...
- ACMNO.20 C语言-插入队列 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。 输入 第一行,原始数列。 第二行,需要插入的数字。
题目描述 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入 第一行,原始数列. 第二行,需要插入的数字. 输出 排序后的数列 样例输入 1 7 8 17 23 2 ...
- c语言:“有一个已排好序的数组,要求输入一个数后,按原来的规律将它插入数组中” 的程序分析及详细代码
先来分析思路: 已经排好序的数组,有两种情况,一种是顺序,一种是逆序,由于该数组是自己给出的,所以我们不妨将该数组的顺序设为顺序. 1.我们需要创建一个顺序数组(a[ ]),创建时要注意,我们要确保数 ...
- 有一个已经排好序的数组,现输入一个数,要求按原来的规律将它插入数组中。——C与C++实现
题目:一个已经排好序的数组,现输入一个数,要求按原来的规律将它插入数组中.(本例中输入的是一个升序的数组) 程序分析: (1)判断输入的数是否大于数组中最后一个元素,如果成立,将输入的数插入数组的末尾 ...
- Python Challenge-39 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
#题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. #!/usr/bin/python 3 # -*- coding: UTF-8 -*- #两种方法_Author_ = ...
- C++经典算法题-有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 题目 题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 2. 分析 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次 ...
- C语言编程>第三周 ⑥ 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
例题:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 代码如下: /*程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个 ...
最新文章
- React 项目----className 样式 (13)
- 【SAP技术】SAP MM 如何看一个自定义移动类型是复制哪个标准移动类型而创建的?
- Linux 基础 - 磁盘管理 -06
- Activity的用法(三):开启网页 (没有弹出浏览器,不清楚是什么原因)
- Ubuntu下嵌入式Qt开发环境配置全攻略
- 数据结构——排序算法(含动态图片)
- Could not find qmake configuration file解决
- 【WP开发】JSON数据的读与写
- pm2开机启动项目脚本
- 计算机软件ui外观设计专利,GUI外观设计专利申请指南
- python cls参数_定义类方法中的参数为啥是cls
- WIN7下安装WIN2003系统
- 虚拟互动展会沉浸式体验方案设计优势
- Linux下使用ISC DHCP可以实现动态推送静态路由表
- App 后台架构设计方案 设计思想与最佳实践
- Atitit. 常用街机系统and 模拟器总结 snk neo geo cps mame sfc smc
- logsource and ALO
- Android7.1编译出现jack server端口配置错误的问题
- 2022年R2移动式压力容器充装考试题库及模拟考试
- 条码软件如何制作GS1-128条形码
热门文章
- [UIView numberofRowsInSection]unrecognized selector sent to instance 0x1808bef0 错误
- iPhone记步和Android计步,手机中运动步数是如何计算的?
- Python使用PyAudio制作录音工具
- 过冲(overshoot)、下冲(Undershoot)的量化标准与评估实例
- Markdown|书单
- Say Hello to Integers (Java)
- Arduino 驱动TM1638显示十位的共阳数码管
- 整理 Go 语言中 20 个占位符!
- 电路设计_自恢复保险丝参数说明
- [虚拟机]hyper-v简介及安装使用(图文详解)