编程每日一练(多语言实现)基础篇:三个数由小到大排序

一、实例描述

任意输入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)
}

程序运行结果如下图所示:
在这里插入图片描述

至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习编程的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

猜你喜欢

转载自blog.csdn.net/xw1680/article/details/133683968