题目

本题是谭浩强《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语言程序设计》第六章第四题相关推荐

  1. C语言学习之有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中

    有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中 #include <stdio.h> void main(){int a[11]={25,32,65,74,84,9 ...

  2. 有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数组中

    有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中 思路:先定义一个数组,留出一个位置,给输入的那个数一个地方.然后分两种情况: 1:输入的数比最大的数小,两两交换位置,直到大于相 ...

  3. 4.19 C语言练习(已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中)

    [练习] 题目要求:已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入:第一行,原始数列. 第二行,需要插入的数字. 输出:排序后的数列例如:输入:1 7 8 ...

  4. 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。

    题目描述 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入 第一行,原始数列. 第二行,需要插入的数字. 输出 排序后的数列 样例输入 1 7 8 17 23 2 ...

  5. ACMNO.20 C语言-插入队列 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。 输入 第一行,原始数列。 第二行,需要插入的数字。

    题目描述 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中. 输入 第一行,原始数列. 第二行,需要插入的数字. 输出 排序后的数列 样例输入 1 7 8 17 23 2 ...

  6. c语言:“有一个已排好序的数组,要求输入一个数后,按原来的规律将它插入数组中” 的程序分析及详细代码

    先来分析思路: 已经排好序的数组,有两种情况,一种是顺序,一种是逆序,由于该数组是自己给出的,所以我们不妨将该数组的顺序设为顺序. 1.我们需要创建一个顺序数组(a[ ]),创建时要注意,我们要确保数 ...

  7. 有一个已经排好序的数组,现输入一个数,要求按原来的规律将它插入数组中。——C与C++实现

    题目:一个已经排好序的数组,现输入一个数,要求按原来的规律将它插入数组中.(本例中输入的是一个升序的数组) 程序分析: (1)判断输入的数是否大于数组中最后一个元素,如果成立,将输入的数插入数组的末尾 ...

  8. Python Challenge-39 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

    #题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. #!/usr/bin/python 3 # -*- coding: UTF-8 -*- #两种方法_Author_ = ...

  9. C++经典算法题-有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

    1. 题目 题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 2. 分析 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次 ...

  10. C语言编程>第三周 ⑥ 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

    例题:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 代码如下: /*程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个 ...

最新文章

  1. React 项目----className 样式 (13)
  2. 【SAP技术】SAP MM 如何看一个自定义移动类型是复制哪个标准移动类型而创建的?
  3. Linux 基础 - 磁盘管理 -06
  4. Activity的用法(三):开启网页 (没有弹出浏览器,不清楚是什么原因)
  5. Ubuntu下嵌入式Qt开发环境配置全攻略
  6. 数据结构——排序算法(含动态图片)
  7. Could not find qmake configuration file解决
  8. 【WP开发】JSON数据的读与写
  9. pm2开机启动项目脚本
  10. 计算机软件ui外观设计专利,GUI外观设计专利申请指南
  11. python cls参数_定义类方法中的参数为啥是cls
  12. WIN7下安装WIN2003系统
  13. 虚拟互动展会沉浸式体验方案设计优势
  14. Linux下使用ISC DHCP可以实现动态推送静态路由表
  15. App 后台架构设计方案 设计思想与最佳实践
  16. Atitit. 常用街机系统and 模拟器总结 snk neo geo cps mame sfc smc
  17. logsource and ALO
  18. Android7.1编译出现jack server端口配置错误的问题
  19. 2022年R2移动式压力容器充装考试题库及模拟考试
  20. 条码软件如何制作GS1-128条形码

热门文章

  1. [UIView numberofRowsInSection]unrecognized selector sent to instance 0x1808bef0 错误
  2. iPhone记步和Android计步,手机中运动步数是如何计算的?
  3. Python使用PyAudio制作录音工具
  4. 过冲(overshoot)、下冲(Undershoot)的量化标准与评估实例
  5. Markdown|书单
  6. Say Hello to Integers (Java)
  7. Arduino 驱动TM1638显示十位的共阳数码管
  8. 整理 Go 语言中 20 个占位符!
  9. 电路设计_自恢复保险丝参数说明
  10. [虚拟机]hyper-v简介及安装使用(图文详解)