PTA---7-1 海量浮点数排序

PTA 基础编程题目集 7-27 冒泡法排序 C语言 PTA 基础编程题目集 7-27 冒泡法排序 C语言 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。 本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。 输入格式: 输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空 阅读详情

本题目要求读入n个浮点数(float就够用了),然后对它们进行排序。再输入num个整数,要求输出排序后相应下标的值。

输入格式:

输入一个整数n(n<1000000),再输入n个浮点数。
然后输入一个整数num(num < 1000000),最后依次输入num个整数。

输出格式:

针对num个整数中的每一个整数,输出排序后对应下标的值。如果下标越界,则输出-1.

输入样例:

例如:

5
0.3 0.21 0.678 0.215 0.333
2
5
3

输出样例:

在这里给出相应的输出。例如:

-1
0.333

  大家要先读懂题,只是对浮点数排序,输入的整数是作为下标,输出对应的浮点数,如果越界就输出-1 

先说错误思路:

我想用两个数组分别存储输入的浮点数和整数,再比较出结果,但是答案始终对不上,估计是数组越界问题,确实麻烦了,错误代码如下:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int   n,N;
     cin>>n;
     float  ch1[1000000];
    for(int i=0;i<n;i++)
    {
        cin>>ch1[i];
    }
    cin>>N;
    int  ch2[1000000];
    for(int i=0;i<N;i++)
      {
        cin>>ch2[i];
       }
   sort(ch1,ch1+n,less<float>());
   for(int i=0;i<N;i++)
   {
        if(ch2[i]>=n)
        {
            cout<<"-1"<<endl;
        }
        else {cout<<ch1[ch2[i]]<<endl;}
   }
   return 0;
}

思考了下发现整数根本就没有存储的必要,直接拿来用就是了,所以修改了下,结果也就正确了

正确代码如下:

#include <iostream>
#include <algorithm>  //一会儿要调用sort函数排序用
using namespace std;
int main()
{
    int n,N,k;  
    float ch[1000000];  //定义一个足够大的数组储存浮点数
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>ch[i];    
    }
    sort(ch,ch+n,less<float>());   //sort函数排序,sort函数的三个参数(数组首地址,数组末地址的下一个地址,比较方法)
                                                  //比较方法可以不写,不写默认从小到大,写的话,从小到大是less<数据类型>,从大到小是greater<数据类型>
    cin>>N;
    for(int i=0;i<N;i++)
     {
        cin>>k;               //输入的整数
       if(k<=n-1&&k>=0) 
       {
           cout<<ch[k]<<endl;
       }
       else{
        cout<<-1<<endl;
          }
      }
    return 0;
}

使用STC15F104W产生PWM脉冲 最近的小项目中使用到了STC15F104W产生PWM脉冲 阅读详情

相关推荐

OpenClaw(原Clawdbot/Moltbot)本地部署快速指南

支持Telegram、Slack、Discord、iMessage等多平台接入,通过配置文件或环境变量填写对应平台的Token,配置后执行。支持对接OpenAI、Anthropic、阿里云百炼等云端模型,也可搭配Ollama使用本地模型。默认仅允许已配对用户交互,群聊场景建议开启Docker沙箱模式,在配置文件设置。执行后跟随指引确认安全说明,进入QuickStart模式,默认网关端口为。可查看已加载模型,通过绑定的通讯通道发送测试指令,响应正常即部署完成。,限制非主会话操作权限,提升安全性。

wukangjupingbb的博客 8477

数据结构期末考试~

**表达式转换** **一元多项式的乘法与加法运算** **括号匹配** **判断字符串结尾方式** **出现次数最多的数字和次数** **二叉树的遍历-后序** **数据结构实验五 直接插入排序** **判断回文** **成绩排序** **求阶乘序列前N项和** **数组循环左移** **两个有序链表序列的合并** **数据结构实验四 折半查找** **选择排序** **二叉树路径和II**

daybreak_alonely的博客 1588

Jetson Orin NX 单目标跟踪算法实战

本文对比了NanoTrack和MixFormerV2两种目标跟踪算法在Jetson Orin NX边缘设备上的实际表现。通过天空小目标跟踪场景测试发现,NanoTrack虽然表征能力较弱,但具有目标身份一致性强、失败模式可控、计算负担小等优势,更适合作为边缘端默认算法。MixFormerV2则适用于高速运动等特定场景。实验数据显示NanoTrack在Orin NX上可达200FPS,远高于MixFormerV2的38-120FPS。建议先采用NanoTrack构建稳定系统,后续再评估复杂算法的适用性。

karmueo46的博客 624

7-1 折半(二分)查找

本题目要求读入n个整数,然后对他们进行排序。接着输入num组数(a,b,c),其中a为需查询的数,b和c为查询的区间下标。要求运用二分查找查询a的下标并输出。如果查询失败,则输出-1.

2301_76775879的博客 1456

Flutter 中使用蓝牙插件报错,说没有权限怎么解决

2、在build.grale里面更改一下版本号,我修改的是targetSdkVersion这个版本号,需要根据你自己的版本进行更改,记得更改之后先flutter clean一下再run。搞了一晚上,没搞出来,第二天用同事手机测试发现他手机可以,我手机还是不行,才发现是Android版本问题,需要修改两处地方。废话不多说,咱先看报错信息。

zzj17637822814的博客 2289

Circos图审美拯救计划:用TBtools复刻Nature级共线性分析图谱

本文针对Circos图在共线性分析中的审美提升问题,提供了一套基于TBtools的完整优化方案。通过构建和谐的色彩体系、精细控制信息层布局以及模仿顶刊构图逻辑,详细讲解了如何从配色、透明度、标签显示到高级参数设置,将默认图表升级为具有高级学术美感的Nature级图谱,助力研究者提升论文图表质量。

cherry的博客 911

折半法查找

Description 有nn个有序的整数放在一维数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“no exists”。 Input 三行输入: 第一行输入数的个数nn和要查询的数的个数mm 第二行输入nn个数 第三行输入mm行要查找的数字 Output 数的位置或相关提示信息 Samples Input复制 4 2 1 2 3 4 5 1 Output no exists 1 Source 鲁东C语言实 #includ...

qing9611的博客 1401

STLink驱动故障全解析:从卡顿到重装的终极修复指南

本文全面解析STLink驱动故障的常见现象及解决方案,包括驱动卸载、重装、Keil环境配置等关键步骤。针对设备管理器黄色感叹号、Keil识别异常等问题,提供从软件到硬件的终极修复指南,帮助开发者高效解决STLink连接问题。

sss66的博客 734

选择排序

本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。 输入格式: 输入的第一行是一个正整数n,表示 在第二行中会有n个整数。 输出格式: 输出选择排序每一步的结果和最终结果。 输入样例: 在这里给出一组输入。例如: 5 3 7 2 9 1 输出样例: 在这里给出相应的输出。例如: step 1: 1 7 2 9 3 step 2: 1 2 7 9 3 step 3: 1 2 3 9 7 step 4: 1 2 3 7 9 sorted array: 1 2 3 7 9 注意:

qi_qi14的博客 1万+

i茅台APP加密参数逆向分析:MT-Device-ID与mt-v生成算法

在移动应用安全领域,参数加密是防止API滥用的重要手段。通过对通信协议的逆向分析,可以揭示加密参数的生成原理,这对理解移动应用安全机制具有重要意义。以i茅台APP为例,其关键接口使用了MT-Device-ID和mt-v两个加密参数,前者基于设备硬件信息生成,后者则通过动态签名机制确保请求时效性。这类技术广泛应用于电商、金融等需要高安全性的场景。通过抓包工具和逆向工程手段,可以还原出从设备指纹生成到动态签名的完整技术链条,其中涉及MD5、SHA256等常见哈希算法的应用。掌握这些加密参数的生成逻辑,不仅有助于

weixin_28568819的博客 320

FPGA资料分享——FPGA开发板入手指南

FPGA学习,开发板怎么选,看这里,就一个通透

weixin_51627076的博客 7297

插入排序详解:原理、C语言实现与优化实践

排序算法是计算机程序设计的基础,而插入排序因其直观的思想和简单的实现,成为初学者理解算法核心逻辑的经典入口。它通过将新元素逐个插入到已有序序列的合适位置,逐步构建出完整的有序数组,这一过程不仅体现了循环边界的严谨控制,也展现了稳定排序在特定场景下的独特价值。插入排序的时间复杂度为O(n²),但在数据量较小或近乎有序时,其性能表现优于许多更复杂的算法,因此常被用作快速排序等高效排序的底层补充。在C语言学习、数据结构考试和各类刷题平台中,掌握插入排序不仅有助于应对手写代码题目,更能为后续理解希尔排序、归并排序等

weixin_34195546的博客 369

从 Token 到 Agent:一文串起 AI 大模型核心概念

摘要:本文系统解析了现代AI系统的八大核心概念:Token(语言处理的最小单位)、Context(AI的短期记忆)、Prompt(指令接口)、Tool(能力扩展器)、MCP(工具生态协议)、Agent(自主智能体)和AgentSkill(专业技能封装)。文章揭示了这些概念如何共同构成AI从基础语言理解到自主决策的技术脉络,重点阐述了Token对计算成本的影响、Prompt工程的重要性、Tool如何突破AI的能力边界,以及Agent如何通过"感知-规划-执行-反思"循环完成复杂任务。最后指

jundao1997的专栏 249

C语言学习路径:从语法到实战项目的完整指南

编程语言作为计算机科学的基础工具,其核心在于通过语法规则将解决问题的逻辑转化为机器可执行的指令。C语言作为一门接近底层的通用程序设计语言,其设计原理强调高效性、灵活性和对硬件的直接控制能力,这使得它在操作系统、嵌入式系统和高性能计算等领域具有不可替代的技术价值。理解C语言的内存管理机制、指针操作和数据结构基础,不仅是掌握系统编程的关键,也为学习C++、Java等高级语言奠定了坚实基础。在实际应用场景中,从简单的学生成绩管理系统到复杂的嵌入式设备开发,C语言都能提供高效的解决方案。本文围绕C语言学习路径,结合

weixin_30562507的博客 421

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

零基础高效学习C语言:从核心语法到实战项目的系统路径

编程语言是计算机科学的基础,它定义了人与机器沟通的规则。C语言作为一门贴近硬件、效率至上的编译型语言,其核心原理在于通过简洁的语法和直接的内存操作,实现对计算机资源的精细控制。掌握C语言不仅能培养严谨的计算思维和内存思维,更是深入理解操作系统、数据结构及嵌入式系统等底层技术的基石,具有极高的技术价值。在工程实践中,C语言广泛应用于系统软件、嵌入式开发和高性能计算等场景。本文聚焦于C语言学习路径,通过构建系统性的知识图谱和循序渐进的实战项目,帮助初学者高效建立编程思维,并特别针对指针与内存管理这一核心难点进行

weixin_30907935的博客 411

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

用c语言写本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。 输入格式: 输入的第一行是一个正整数n,表示 在第二行中会有n个整数。 输出格式: 输出选择排序每一...

我可以为你提供一个示例代码,用于实现上述要求:#include <stdio.h> int main() { int array[100], n, c, d, position, swap; printf("输入数组大小:"); scanf("%d", &n); printf("输入 %d 整数:\n", n); for (c = 0; c < n; c++)...

weixin_42588672的博客 1403

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

小白C语言编程实战(21):折半(二分)查找

这是《小白C语言编程实战》系列的第21篇。 了解并实现折半查找算法。

编程架构三分天下:分层、分治、分时序。 1113

利用STL比较数据大小并排序

本题目要求读入n个整数(输入数字个数根据输入时随机确定,以输入一个非数字的值作为输入结束标志),利用STL比较数据大小并排序(由小到大升序),然后输出排序后的数据。 输入格式: 输入在一行中依次输入整数值,每个数字之间用空格分隔,输入数字个数根据输入时随机确定,以输入一个非数字的值作为输入结束标志。 输出格式: 先输出一段提示“从标准设备读入数据,直到输入是非整型数据为止”,在输入一组数字后,输出排序后的数字,在一行中由小到大依次输出所有值,数字之间用空格分隔。 输入样例: 10 3 -2 8 20 -9

MrLuo8的博客 1337

7-4 N个数排序 C语言 PTA

pta答案

weixin_63566368的博客 2641

选择排序(PTA C++)

本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。 输入格式: 输入的第一行是一个正整数n,表示 在第二行中会有n个整数。 输出格式: 输出选择排序每一步的结果和最终结果。 输入样例: 在这里给出一组输入。例如: 5 3 7 2 9 1 输出样例: 在这里给出相应的输出。例如: step 1: 1 7 2 9 3 step 2: 1 2 7 9 3 step 3: 1 2 3 9 7 step 4: 1 2 3 7 9 sorted arr

waeylanzek的博客 3901

本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。 输入格式: 输入的第一行是一个正整数n,表示 在第二行中会有n个整数。 输出格式: 输出选择排序每一步的结果和...

首先,从给定的n个整数中,找出最小值,将其与第一个整数交换,然后从剩下的n-1个整数中找出最小值,将其与第二个整数交换,如此重复,直到第n-1个整数和第n个整数比较为止,输出每一步的结果和最终结果。 ...

weixin_42577735的博客 2292

对n个整数进行排序

【问题描述】请使用排序算法对n个数据进行降序排列,n的值和数据的值通过键盘输入。【输入形式】使用input()函数输入n的值和n个数据的值。【输出形式】使用print()函数输出降序排序后的数据。

zhanghongyi_cpp的博客 1175

1159 问题 C: 不定方程求解

我们可以用一个变量 ans 来记录解的组数,初始为 0,然后用两层循环来枚举 x 和 y 的所有可能的取值,每次检查是否满足方程,如果满足,就将 ans 加 1,最后输出 ans 即可。题目给出了三个正整数 a,b,c,表示不定方程 ax+by=c 的系数和常数项,我们要求出关于未知数 x 和 y 的所有非负整数解的组数。题目还给出了输入和输出的格式,以及一个样例,说明了数据的范围和结果的要求。

2301_79471555的博客 794

【蓝桥杯试题 练习题 不定方程求解】

【题目描述】求不定方程ax + by = c关于未知数x,y的所有非负整数解组数。 【输入】 a b c 【输出】 所有非负整数解组数 【解题思路】 给定abc,找出关于ax+by=c的所有整数解,先利用循环,遍历其中一个数的所有可能性,再用公式表达出另一个数,并带入原公式进行判断,成立则符合条件。 //练习题,求解不定方程 #include<stdio.h> int main() { int a, b, c; int x, y; int count = 0;

热爱游戏开发的呆头熊。的小本本 2296

对多个整数进行排序

先从键盘输入一个整数n,n代表需要排序的整数数量,然后再从键盘输入n个整数,对这些数从小到大排序并输出。 输入格式: 先从键盘输入一个整数n,之后回车 再从键盘输入n个整数,整数之间用一个或多个空格分隔 输出格式: 按如下示例输出排序后的数据:The sorted numbers are:排序后的n个数,每个输出的整数之后有一个空格作为分隔符 输入样例: 在这里给出一组输入。例如: 10 3 5 2 4 76 89 56 4 3 8 输出样例: 在这里给出相应的输出。例如: The sorted numbe

qq_52846711的博客 1067

POJ 百炼 保研机试 2799:浮点数格式

2799:浮点数格式 查看提交统计提示提问 总时间限制: 1000ms 内存限制: 65536kB 描述输入n个浮点数,要求把这n个浮点数重新排列后再输出 输入第1行是一个正整数n(n 输出n行,每行对应一个输入。要求每个浮点数的小数点在同一列上,同时要求首列上不会全部是空格。 样例输入 2 -0.34345 4545.232 样例输出

u013240812的专栏 1549
上一篇: PTA 6-1 类的继承和派生
下一篇: PTA---6-1 运算符重载
从一的
博客等级 码龄5年 1995粉丝 213原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值