<1>题目介绍

有一个已排好序的数组,要求输入一个数后,按原来的规律将他插入数组中,例如将3插入

1 ,2 ,4 ,7 ,8, 9 ,10 ,11, 13, 100中,得到1 ,2 ,3,4 ,7 ,8, 9 ,10 ,11, 13, 100

<2>思路分析

  • 将输入的数字一一和数组中的元素对比
  • 如果没有比他大的,就将他放在数组的最后一个位置
  • 如果他在数组中某两个数之间,就将大于它的数全部向后移动一位

<3>代码实现

int main()
{int arr[11] = { 1 ,2 ,4 ,7 ,8, 9 ,10 ,11, 13, 100 };int input = 0;scanf("%d",&input);int i,j;for (i = 0; i < 10; i++){if (input >= arr[9]){arr[10] = input;}else {if (input<=arr[i])                                    {int tmp1 = arr[i];                                arr[i] = input;                                for (j = i + 1; j < 11; j++){int tmp2 = arr[j];                         arr[j] = tmp1;                             tmp1 = tmp2;                                }break;}}}for (i = 0; i < 11; i++){printf("%d ",arr[i]);}return 0;
}

上面代码的核心部分在于下面

if (input<=arr[i])                           //假设这里的input = 3,则i = 2
{int tmp1 = arr[i];                        //记录tmp1 = arr[2] = 4arr[i] = input;                         //让arr[2] = input = 3for (j = i + 1; j < 11; j++){int tmp2 = arr[j];                  //记录tmp2 = arr[3] = 7arr[j] = tmp1;                      //让arr[3] = tmp1 = arr[2] = 4tmp1 = tmp2;                       //让tmp1 = tmp2 = arr[3] = 7}break;
}

我将input = 3作为演示过程写出来了,后面只需要执行完for循环就能将整个插入过程执行完毕

<4>结果展示

C语言经典题目——将一个数插入已排序好的数组中相关推荐

  1. c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解

    C语言 经典题目螺旋矩阵 实例详解 C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include #include int main() { int N,i,j,n,num=1; int a[10][ ...

  2. C语言经典题目(一)

    分享之前和大家分享一本书叫做<厚黑学>,这本书可以了解一下社会现实,但是看这本书的时候切记,不可迷失自己.扉页的第一段话和大家分享一下:我自读书识字以来,就想为英雄豪杰,求之四书五经,茫无 ...

  3. c语言插入特定的字符串,C语言实现:将一个字符串插入到另一个字符串的指定位置...

    C语言实现:将一个字符串插入到另一个字符串的指定位置 发布时间:2018-08-22 13:23, 浏览次数:1672 示例一: char *insert(char *s1, char *s2, in ...

  4. 《程序员代码面试指南》第七章 位运算 在其他数都出现k 次的数组中找到只出现一次的数...

    题目 在其他数都出现k 次的数组中找到只出现一次的数 java 代码 package com.lizhouwei.chapter7;/*** @Description: 在其他数都出现k 次的数组中找 ...

  5. C语言经典例19-完数

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 因子:假如整 ...

  6. C语言经典题目(二)

    失去兴趣的人终将是去奋斗的价值观. --本人 大家好,这一篇文章和大家分享一下C语言经典习题第二章,这些思想挺重要的,是打江山的基础.值得大家看一看. 一.判断一个数是几位数 用户输入一个数,然后用代 ...

  7. 如何用c语言word文件页数,如何快速查看word文档中字数、页数等信息?()

    相关题目与解析 如何快速查看word文档中应用了标题样式的段落文本 在Word2003中,使用"字数统计"功能不能够完成().A.脚注和尾注的个数统计B.整篇文档的字数统 如何快速 ...

  8. C语言经典100题——用选择法排序

    <什么是选择法> 选择排序法是一种不稳定的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大) ...

  9. C语言:有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。

    /*有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数.如果不在数组中,打印"not found".*/#include<stdio ...

最新文章

  1. swoole安装异步reids
  2. linux一共有多少级别,简述linux的几个运行级别及其相应的含义。
  3. c2065 未声明的标识符 解决ok
  4. mysql之触发器详解_学习笔记之MySQL触发器详解
  5. 二值图像的距离变换研究
  6. oracle 如果存在不创建表,oracle – 如果表不存在则创建表,并在创建后输入一行...
  7. 怎么查看linux服务器有cpu
  8. 前端学习(3256):react中添加todolist
  9. 启明星会议室预定系统 helpdesk系统等 登陆失败的问题与解决方法
  10. “工业4.0”下的可视化工厂建设方案 1
  11. 基于vue(element ui) + ssm + shiro 的权限框架
  12. ztree 后台异步加载_ztree 异步加载示例
  13. excel撤销工作保护(忘记密码)
  14. java单循环赛制程序_单循环比赛的固定轮转编排法与贝格尔编排法
  15. Python概念-Item系列(林海峰教的)
  16. Gym 100818F Irrational Roots (数学)
  17. Flowable源码注释(三十二)任务超时作业
  18. 数字安全证书(CA证书)介绍
  19. java bt下载_bt: Java种子下载程序
  20. 教你怎样混社会[转]

热门文章

  1. print()函数的使用方法
  2. Golang学习 Day_12
  3. 研究War3编辑器(1):了解模块类型
  4. android切割音视频
  5. 1、Latex学习笔记之基础入门篇
  6. java http reffer_HTTP Referer与网站流量来路统计
  7. Ubuntu20.04.4装显卡及其他所有驱动
  8. linux下安装goldengate
  9. 合肥工业大学 汇编语言程序设计 高分实验代码
  10. mysql 2008降序排列,sql倒序排序语句