首页 > 其他分享 >PTA:一维数组 简化的插入排序

PTA:一维数组 简化的插入排序

时间:2025-01-18 23:31:28浏览次数:3  
标签:11 int 插入排序 整数 PTA 一维 序列 scanf 输入

本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

输入格式:

输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

输出格式:

在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。

输入样例:

5
1 2 4 5 7
3

输出样例:

1 2 3 4 5 7 

代码如下: 

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if(n==0)//n为0时只有两次输入!!
    {
        int x;
        scanf("%d",&x);
        printf("%d ",x);
    }else{
        int a[11],b[11];//b用来存储新的整数序列
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        int x;
        scanf("%d",&x);
        int flag=0;//标记x是否插入
        int k=0;
        for(int j=0;j<n;j++)
        {
            if(x<a[j]&&flag==0)
            {
                b[k]=x;
                flag=1;
                k++;
            }
            b[k]=a[j];
            k++;
        }
        if(x>a[n-1])//x比所有数都大的情况
            b[n]=x;
        for(int i=0;i<=n;i++)
        {
            printf("%d ",b[i]);
        }
    }
    return 0;
}

标签:11,int,插入排序,整数,PTA,一维,序列,scanf,输入
From: https://blog.csdn.net/ly1012_/article/details/145234656

相关文章

  • (pta)实验3-7-switch/for 统计学生成绩
    作者 陈建海单位 浙江大学本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在第一行中给出一个正整数N(≤100......
  • PTA L1-010 比较大小
    本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:428输出样例:2->4->8#include<bits/stdc++.h>usingnamespacestd;voidfun(int&a,int&b,int......
  • bfs练习题-PTA喊山
    喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为......
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之一维数组(应用二)
    实战训练1—统计相同的数问题描述:在一次实验中产生了n个数据,现在统计这n个数据中与指定数字m相同的个数,请编程实现。输入格式:输入共三行:第一行为一个整数n,表示整数序列的长度(n<=100);第二行为n个整数,整数之间以一个空格分开;第三行包含一个整数,表示指定的数字m。输出格式:输......
  • 分类统计字符个数(PTA)C语言
    本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。函数接口定义:voidStringCount(chars[]);其中chars[]是用户传入的字符串。函数StringCount须在一行内按照letter=英文字母个数,blank=空格或回车个数,digit=数字字符......
  • 代码随想录Day35 | 01背包问题 二维,01背包问题 一维,416.分割等和子集
    代码随想录Day35|01背包问题二维,01背包问题一维,416.分割等和子集01背包问题二维动态规划经典问题dp定义:dp[i][j]表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少状态转移方程:dp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+va......
  • PTA 团体程序设计天梯赛 15分题 048
    L1-048矩阵A乘以B(15)题目要求给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。输入格式输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中......
  • 插入排序
    插入排序(InsertionSort)是一种简单直观的排序算法,它的工作原理类似于扑克牌的整理过程。在摸牌时,玩家会将每张新摸到的牌插入到手中已有的有序牌中的合适位置。1.算法步骤初始状态:将数组分为已排序和未排序两部分。初始时,数组的第一个元素被认为是已排序部分,其余元素是未排序......
  • Linux iptables与Docker
    关于Iptables和NetfilterIptables是什么Iptables是主机防火墙,常见于CentOS,Redhat,Kylin及Openeuler等Linux操作系统上,其作用与硬件防火墙类似,可对网络层或传输层的流量进行包的过滤及转发;Iptables工作于网络七层模型中的网络层与传输层(如图):网络层:基于IP地址的过滤与转发传输......
  • C|PTA|龟兔赛跑
    乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟......