当前位置: 首页 > news >正文

信奥赛CSP-J复赛集训(语法基础专题)(1):三位数排序(文末附讲课视频)

信奥赛CSP-J复赛集训(语法基础专题)(1):三位数排序(文末附讲课视频)

三位数排序

题目描述

给出三个整数 a , b , c a,b,c a,b,c,要求把这三位整数从小到大排序。

输入格式

输入三个整数 a , b , c ( 0 ≤ a , b , c ≤ 100 ) a,b,c(0\le a,b,c \le 100) a,b,c(0a,b,c100),以空格隔开。

输出格式

输出一行,这三个整数从小到大排序后的结果(用空格隔开)。

输入输出样例 1
输入 1
1 9 8
输出 1
1 8 9
输入输出样例 2
输入 2
5 3 1
输出 2
1 3 5

AC代码

#include<bits/stdc++.h>
using namespace std;/*
功能分析:
该程序通过三次比较和可能的交换操作,将输入的三个整数按从小到大的顺序排列。
思路分三步:
1. 首先比较前两个数a和b,确保a <= b;
2. 接着比较b和c,确保此时b <= c,此时c为最大值;
3. 最后再次比较a和b,确保a <= b,从而完成整个排序。
*/int a, b, c, tmp;int main() {cin >> a >> b >> c;// 第一步:确保a <= bif (a > b) {tmp = a;a = b;b = tmp;}// 第二步:确保b <= c,此时c为最大值if (b > c) {tmp = b;b = c;c = tmp;}// 第三步:再次确保a <= b(前两步可能导致a > b)if (a > b) {tmp = a;a = b;b = tmp;}// 输出排序后的结果cout << a << " " << b << " " << c;return 0;
}
注释说明
  • 头文件与命名空间: 使用bits/stdc++.h包含所有标准库,简化代码。

  • 变量声明: a, b, c存储输入的三位数,tmp用于临时交换。

  • 输入处理: 从标准输入读取三个整数。

  • 第一步交换: 比较ab,若a > b则交换,确保a <= b

  • 第二步交换: 比较bc,若b > c则交换,确保b <= c,此时c为最大值。

  • 第三步交换: 再次比较ab,处理前两步可能导致的a > b情况,确保最终a <= b <= c

  • 输出结果: 按升序输出排序后的三个数。

功能分析
  1. 逐步排序策略:

    • 通过三次比较交换操作,逐步固定最大值并调整剩余数的顺序。
    • 类似冒泡排序的思想,每次将较大值向后移动。
  2. 具体步骤解析:

    • 第一次交换确保前两个数有序。
    • 第二次交换将最大值移动到末尾(c的位置)。
    • 第三次交换处理前两次交换可能导致的前两位无序问题,确保整体有序。
  3. 时间复杂度:

    • 仅三次比较和最多三次交换,时间复杂度为O(1),效率极高。
  4. 适用性:

    • 仅适用于三个数的排序,对于更大规模的数据需采用更通用的排序算法(如快速排序、归并排序等)。

本次课讲课视频:

信奥赛CSP-J复赛集训(语法基础专题)(1):三位数排序

156课时csp信奥赛c++复赛集训课:

csp信奥赛复赛12大高频考点专题集训,助力你冲刺csp一等奖
在这里插入图片描述

课程直通链接:

https://edu.csdn.net/course/detail/40437

csp信奥赛复赛集训课涵盖12大高频考点专题集训内容:

1、语法基础专题
2、数学思维专题
3、模拟算法专题
4、排序算法专题
5、贪心算法专题
6、二分算法专题
7、前缀和&差分
8、深度优先搜索
9、广度优先搜索
10、动态规划专题
11、栈和队列专题
12、树和图专题

http://www.dtcms.com/a/441903.html

相关文章:

  • 购物分享网站怎么做的网站建设服务中心
  • 【深度学习新浪潮】数据合成领域近三年研究进展与开源项目调研
  • 【嵌入式Linux - 应用开发】音频(ALSA 框架)
  • 获得场景视频API开发(02):H5前端上传视频之Java转 PHP实现方案
  • 枣阳网站建设公司c 在网站开发方面有优势吗
  • SpringMVC中的常用注解及使用方法
  • PyQt6实例_个股收盘价和市盈率TTM
  • Windows 环境下安装 Node.js 和 Vue.js 框架完全指南
  • C语言第3讲:分支和循环(上)—— 程序的“决策”与“重复”之旅
  • 09.Docker compose
  • 梁山专做网站的公司徐州便民信息网
  • HarmonyOS 应用开发深度解析:ArkTS 状态管理与渲染控制的艺术
  • ThreadX全家桶迎来移交Eclipse基金会后的第2次更新,发布V6.4.3版本,更新终于回到正轨
  • 中国工信备案查询网站哪个网站能免费下载
  • 网站图片上传功能怎么做设计网红店铺
  • 保姆级 Docker 入门到进阶
  • 网站建站网站80s隐秘而伟大新网站怎么做谷歌推广呢
  • uv 配置国内镜像加速教程
  • Leetcode 295. 数据流的中位数 堆
  • Go 语言的 channel
  • python包管理器——uv
  • 【LeetCode】92. 反转链表 II
  • LeetCode:90.最长有效括号
  • AI 重塑行业格局:从金融风控到智能制造的深度实践
  • 网站开发公共文件太仓营销型网站建设
  • MSM多标量乘法:策略及挑战
  • 做58一样的网站网站如何在国外推广
  • Vue渲染—深入VNode(h函数、JSX、render函数)
  • GPT_Data_Processing_Tutorial
  • 华为AC+AP无线网络组网与配置指南