当前位置:网站首页>[深入浅出]三位数排序
[深入浅出]三位数排序
2022-08-03 11:36:00 【ceshyong】
题目链接【深基3.例8】三位数排序 - 洛谷
https://www.luogu.com.cn/problem/P5715
题目描述
给出三个整数a,b,c(0≤a,b,c≤100),要求把这三位整数从小到大排序。
输入
输入三个整数 a,b,ca,b,c,以空格隔开。
输出格式
输出一行,三个整数,表示从小到大排序后的结果。
样例组
样例1
输入 1 14 5
输出 1 5 14
样例2
输入 2 2 2
输出 2 2 2
题目解析
这道题目有三种做法。
第一种做法是将每个数都存入A数组,然后用sort()将每个数排序就可以了。(呃......)
第二种做法则借助于max和min。读入三个数,然后输出三个数中的最小值。然后用if逐个判断那个数是不是三个数中的最小值,并将其改为三个数中任意两个数中的一个数。最后输出它们中的最大值和最小值。
第三种做法则需要使用swap()函数。如果A比B小,交换A,B;如果B比C小,交换B,C;如果A比B小,交换A,B;最后输出A,B,C就行了。
AC代码
第一种做法:
#include<bits/stdc++.h>
using namespace std;
int a[4];
int main()
{
cin>>a[1]>>a[2]>>a[3];
sort(a+1,a+4);
cout<<a[1]<<' '<<a[2]<<' '<<a[3];
return 0;
}
第二种做法:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c;d=min(min(a,b),c);
cout<<d<<' ';
if(d==a) a=b;
else if(d==b) b=c;
else c=a;
cout<<min(min(a,b),c)<<' '<<max(max(a,b),c);
return 0;
}
第三种做法:
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main()
{
cin>>a>>b>>c;
if(a<b) swap(a,b);
if(b<c) swap(b,c);
if(a<b) swap(a,b);
cout<<c<<' '<<b<<' '<<a;
return 0;
}
这道题目就这么多。涨粉一个,更新一篇!
边栏推荐
猜你喜欢
What is the relationship between The Matrix and 6G?
优维低代码:Provider 构件
用于发票处理的 DocuWare,摆脱纸张和数据输入的束缚,自动处理所有收到的发票
【MySQL】数据库进阶之索引内容详解(上篇 索引分类与操作)
零信任架构分析【扬帆】
码率vs.分辨率,哪一个更重要?
html网页如何获取后台数据库的数据(html + ajax + php + mysql)
Simple implementation of a high-performance clone of Redis using .NET (1)
hystrix 服务熔断和服务降级
VRRP协议的作用及VRRP+OSPF配置方法
随机推荐
数据库一席谈:打造开源的数据生态,支撑产业数字化浪潮
redis基础知识总结——数据类型(字符串,列表,集合,哈希,集合)
缓存--伪共享问题
bash case用法
This article takes you to understand the principle of CDN technology
MySQL之json数据操作
实至名归!九章云极DataCanvas公司荣获智能制造领域多项殊荣
C#/VB.NET 从PDF中提取表格
ETL data cleaning case in MapReduce
Go 语言快速入门指南: 介绍及安装
小身材有大作用——光模块基础知识(一)
LeetCode-1796. 字符串中第二大的数字
【一起学Rust 基础篇】Rust基础——变量和数据类型
[论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
C - 为什么指针常常初始化为 NULL?
劝退背后。
Android 技术面试准备(含面试题及答案)
[错题]电路维修
ABAB-740新语法
viewstub 的详细用法_pageinfo用法