一、实例描述
任意输入3个整数,编程实现对这3个整数进行由小到大排序并将排序后的结果显示在屏幕上。运行结果如下图所示:
二、技术要点
① 使用输入函数获得任意三个值赋给 a,b,c
。
② 使用 if 语句进行条件判断,如果 a 大于 b,则借助中间变量 t 实现两个变量 a 与 b 值的互换,依此类推进行 a 与 c 的比较,b 与 c 的比较,从而最终得到的结果是 a,b,c
依次由小变大。(实现变量的交换是本例的核心,我在不同的语言中使用了不同的方式实现)
③ 使用输出函数将 a,b,c
的值依次输出。
三、代码实现
3.1 C 语言实现
/*================================================================
* Copyright (C) 2023 AmoXiang All rights reserved.
*
* 文件名称:08-三个数由小到大排序.c
* 创 建 者:AmoXiang
* 创建日期:2023年10月08日 15:18:58
* 描 述:
*
================================================================*/
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
int c = 0;
printf("please input a,b,c:\n");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
// c语言这里写的方法和其他语言的逻辑存在一定的误差,这里是先将a和b比较 将较大的值在和c比较 最后c存的一定是最大值
//然后再将较小的a,b值比较
if (a > b) {
a = a + b;
b = a - b;
a = a - b;
}
if (b > c) {
b = b + c;
c = b - c;
b = b - c;
}
if (a > b) {
a = a + b;
b = a - b;
a = a - b;
}
printf("the order of the number is:\n");
printf("%d,%d,%d\n", a, b, c);
}
程序运行结果如下图所示:
3.2 Python 语言实现
# -*- coding: utf-8 -*-
# @Time : 2023/10/8 11:22
# @Author : AmoXiang
# @File : 08-三个数由小到大排序.py
# @Software: PyCharm
# @Blog : https://blog.csdn.net/xw1680
# 最简单的做法,将数据放入列表中 然后调用列表自带的排序方法
# result = []
# print('please input a,b,c:')
# for i in range(3):
# result.append(int(input()))
# print('the order of the number is:')
# result.sort()
# print(','.join([str(_) for _ in result]))
# 如果类似上述的做法,其实是使用的别人写好的算法,在初学程序的阶段,还是建议培养自己独立的编程思维
print('please input a,b,c:')
a = int(input())
b = int(input())
c = int(input())
# 先将a和b比较
if a > b: # 如果a大于b交换a和b的值 那此时a就为较小值
a, b = b, a
# 经过上一步可以得出 a 为较小值,再将其与c进行比较,如果大于c的值 就交换,否则不交换,此时a存储的就为最小值
if a > c:
a, c = c, a
# 最后判断b和c的值
if b > c: # 两个存储较大的值进行比较,判断谁更大 将较小的值放入变量b中
b, c = c, b
print('the order of the number is:')
print(f'{a},{b},{c}') # 输出函数将a,b,c的值顺序输出
程序运行结果如下图所示:
3.3 Java 语言实现
/**
* ClassName: Exercise8
* Package: PACKAGE_NAME
* Description: 三个数由小到大排序
*
* @Author AmoXiang
* @Create 2023/10/8 14:58
* @Version 1.0
*/
import java.util.Scanner;
public class Exercise8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("please input a,b,c:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
// java这里写的方法和其他语言的逻辑存在一定的误差,这里是先将a和b比较 将较大的值在和c比较 最后c存的一定是最大值
//然后再将较小的a,b值比较
if (a > b) {
a = (a + b) - (b = a);
// System.out.println(a);
}
if (b > c) {
c = (b + c) - (b = c);
System.out.println(c);
}
if (a > b) {
a = (a + b) - (b = a);
}
System.out.println("the order of the number is:");
System.out.println(a + "," + b + "," + c);
}
}
程序运行结果如下图所示:
3.4 JavaScript 语言实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>07-三个数由小到大排序</title>
</head>
<body>
</body>
</html>
<script>
alert("please input a,b,c:");
let a = parseInt(prompt("a:"));
let b = parseInt(prompt("b:"));
let c = parseInt(prompt("c:"));
// 先将a和b比较
if (a > b) { // 如果a大于b交换a和b的值 那此时a就为较小值
[a, b] = [b, a]
// alert(a)
}
// 经过上一步可以得出 a 为较小值,再将其与c进行比较,如果大于c的值就交换,否则不交换,此时a存储的就为最小值
if (a > c) {
[a, c] = [c, a]
}
// 最后判断b和c的值
if (b > c) {// 两个存储较大的值进行比较,判断谁更大 将较小的值放入变量b中
[b, c] = [c, b]
}
alert('the order of the number is:')
alert(`${a},${b},${c}`)// 输出函数将a,b,c的值从小到大顺序输出
</script>
3.5 Go 语言实现
package main
import "fmt"
func main() {
var a int = 0
var b int = 0
var c int = 0
fmt.Println("please input a,b,c:")
fmt.Scanf("%d", &a)
fmt.Scanf("%d", &b)
fmt.Scanf("%d", &c)
if a > b {
a = a ^ b
b = a ^ b
a = a ^ b
}
if a > c {
a = a ^ c
c = a ^ c
a = a ^ c
}
if b > c {
b = b ^ c
c = b ^ c
b = b ^ c
}
fmt.Println("the order of the number is:")
fmt.Printf("%d,%d,%d\n", a, b, c)
}
程序运行结果如下图所示:
至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习编程的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!
好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请点赞
、评论
、收藏
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注
我哦!