首页 > 编程语言 >题目 1025: [编程入门]数组插入处理

题目 1025: [编程入门]数组插入处理

时间:2023-04-06 21:12:48浏览次数:41  
标签:1025 题目 入门 int 编程 插入 62 数组 输入

题目描述

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

输入格式

第一行,原始数列。 第二行,需要插入的数字。

输出格式

排序后的数列

样例输入

1 7 8 17 23 24 59 62 101
50

样例输出

1
7
8
17
23
24
50
59
62
101

 

解题思路:这是常规思路,类似按身高排队一样,已经排好的队,你想插进去,找到比你矮的和比你高的前后两个人,之后的人往后退一步就行了。

首先是输入只含有9个元素的数组a[10],用for循环依次输入。接着输入插入的数字x,将x与数组元素比较,当a[i]<=x<=a[i+1]时,记录x应该插入的位置t=i+1。但是插入x之前要把元素往后移位,从后往前直到位置t,最后把x赋值给a[t],输出排好的a[10]。

注意事项:注意移位从后往前,不然从前往后会使数据丢失。找插入位置时注意break退出遍历循环,不然肯定是最后面。

#include <stdio.h>
 
int main()
{
    int a[10];
    int i=0;
    int t;
    for(i=0;i<9;i++)
    {
        scanf("%d",&a[i]);
    }
    a[9]=0;
    int x;
    scanf("%d",&x);
    for (i=0;i<10;i++)
    {
        if(x>=a[i] && x<=a[i+1])
        {
            t=i+1;
            break;
        }
    }
//  printf("%d\n",t);
    for (i=9;i>t;i--)
    {
        a[i]=a[i-1];
    }
    a[t]=x;
 
    for (i=0;i<10;i++)
    {
        printf("%d\n",a[i]);
    }
    return 0;
}

 

标签:1025,题目,入门,int,编程,插入,62,数组,输入
From: https://www.cnblogs.com/su-1007/p/17294160.html

相关文章

  • 题目 1026: [编程入门]数字逆序输出
    题目描述输入10个数字,然后逆序输出。输入格式十个整数输出格式逆序输出,空格分开样例输入1234567890样例输出0987654321解题思路:1.题目要求是输入十个整数。2.所以我们定义数组长度为10就可以了。3.利用for循环输入与输出。注......
  • 题目 1024: [编程入门]矩阵对角线求和
    求一个3×3矩阵对角线元素之和。 解题思路和注意事项: 这道题还是蛮简单,首先要求求一个矩阵的主副对角线的元素和,那肯定要用到的就是多维数组。        多维数组的形式应该为:array[i][j]; 知道这个后我们开始分析题目:        先是主对角线,就是从左上到......
  • 结对编程——四则运算练习题
    结对编程题目如下:小学老师要每周给同学出300道四则运算练习题。这个程序有很多种实现方式:C/C++C#/VB.net/JavaExcelUnixShellEmacs/Powershell/VbscriptPerlPython一个或两个运算符(a+b或a+b+c),100以内的数字,不需要写答案。需要检查答案是否正确,并且保证答案在0......
  • 题目 1023: [编程入门]选择排序
    找出数组无序区中的最小值(最大值),与无序区中第一个数(最后一个数)交换。例子:52314第一轮无序区最小值是1,将1和无序区中一个数交换:12354。有序区:1,无序区:2354第二轮无序区最小值是2,因为2就是无序区的第一个数,所以不用交换:12354。有序区:12,无序区:354第三轮无序......
  • 微网优化程序 风光储matlab 考虑风光储的微网优化程序,采用matlab编程
    微网优化程序风光储matlab考虑风光储的微网优化程序,采用matlab编程,cplex求解,实现微网各个主体的出力情况,程序注释清楚,运行稳定。YID:4990644757137689......
  • 三菱PLC 结构化编程Q系列整条生产线大型项目
    三菱PLC结构化编程Q系列整条生产线大型项目两台QPLC6台触摸屏以太网通讯机器人控制mesccdRS232串口通讯大量fb,fc通用模块三菱plc大项目程序高级编程三菱PLC结构化编程一整条生产线程序全套资料2台Q系列CPU6台触摸屏CC-LINK IO串口通信扫码枪8台机器人拧紧......
  • 题目 1021: [编程入门]迭代法求平方根
    题目描述用迭代法求平方根公式:求a的平方根的迭代公式为:X[n+1]=(X[n]+a/X[n])/2要求前后两次求出的差的绝对值少于0.00001。输出保留3位小数 一、何为迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性......
  • 【日常】服务器入门补充
    文章目录服务器分类:1.塔式服务器2.机架式服务器3.刀片式服务器服务器电源服务器远程管理卡服务器CPU选型可以从以下网址了解服务器:DELL服务器地址:https://www.dell.com/zh-cn/work/shop/cty/sc/servers?ref=hpg_cat_item5_cta服务器分类:根据外观分类:1.塔式服务器和台式机一样,......
  • 【Linux】循序渐进学运维-服务篇-nginx入门
    文章目录nginx介绍nginx最新版本号nginx与apache的对比1、nginx相对于apache的优点:2.apache相对于nginx的优点:编译安装nginx1.安装依赖包2.下载nginx包3.解压安装a.解压b.编译&&编译安装c.启动d.查看是否启动nginx的目录结构主要的配置参数nginx介绍Nginx(enginex)......
  • C++中的元编程常用工具
    std::forward : 通常是用于完美转发的,它会将输入的参数原封不动地传递到下一个函数中,这个“原封不动”指的是,如果输入的参数是左值,那么传递给下一个函数的参数的也是左值;如果输入的参数是右值,那么传递给下一个函数的参数的也是右值。std::remove_reference_t : 是一个模板......