「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小

本篇将继续讲解PTA平台上的题目 L1-010 比较大小,通过对三个整数的排序,进一步提升Cangjie编程语言的数组操作与逻辑处理能力。


关键词
  • PTA刷题
  • 数字排序
  • 条件判断
  • Cangjie语言

一、L1-010 比较大小

题目描述:给定3个整数,要求将它们从小到大排序,并按格式输出。

  • 输入格式:在一行中输入3个整数,其间以空格分隔。
  • 输出格式 :在一行中将3个整数从小到大输出,数字间以 -> 相连。

解题思路
  1. 手动实现排序算法:通过条件判断对3个整数进行从小到大的排序。
  2. 格式化输出 :将排序后的整数按要求格式输出,数字间用 -> 分隔。

代码实现
cangjie 复制代码
package cjcDemo

import std.console.*
import std.convert.*

// 自定义排序函数,将3个数排序
func sortThreeNumbers(a: Int64, b: Int64, c: Int64): (Int64, Int64, Int64) {
    var x = a
    var y = b
    var z = c

    // 比较并交换数值,确保 x <= y <= z
    if (x > y) {
        let temp = x
        x = y
        y = temp
    }
    if (x > z) {
        let temp = x
        x = z
        z = temp
    }
    if (y > z) {
        let temp = y
        y = z
        z = temp
    }

    return (x, y, z)
}

main(): Int64 {
    // 输入3个整数
    let input = Console.stdIn.readln().getOrThrow().split(" ")
    let a = Int64.parse(input[0])
    let b = Int64.parse(input[1])
    let c = Int64.parse(input[2])

    // 调用排序函数
    let (x, y, z) = sortThreeNumbers(a, b, c)

    // 输出排序结果
    println("${x}->${y}->${z}")

    return 0
}

代码详解
  1. 手动排序 :通过条件判断,将三个整数按照从小到大的顺序排序。具体步骤是依次比较和交换 x , y , z 的值,确保最终的顺序是 x <= y <= z
  2. 输入解析 :将输入的字符串通过 split 方法分割为数组,并将字符串转换为 Int64 类型的整数。
  3. 格式化输出 :排序完成后,按 -> 连接符拼接排序后的结果,并输出。

示例执行

示例 1

输入:

复制代码
4 2 8

输出:

复制代码
2->4->8

示例 2

输入:

复制代码
10 5 7

输出:

复制代码
5->7->10

示例 3

输入:

复制代码
-1 0 1

输出:

复制代码
-1->0->1

小结

本篇通过实现 L1-010 比较大小 题目,手动实现了对三个整数进行排序的功能。通过条件判断与交换的方式,进一步强化了Cangjie语言中对数据处理的能力。


下篇预告

下一篇将继续进行PTA刷题,讲解 L1-011 A-B 的解题思路与实现,敬请期待 「Mac上学习仓颉20」PTA刷题篇11 - L1-011 A-B


上一篇: 「Mac上学习仓颉18」PTA刷题篇9 - L1-009 N个数求和
下一篇: 「Mac上学习仓颉20」PTA刷题篇11 - L1-011 A-B

作者:SoraLuna

链接:https://www.nutpi.net/thread?topicId=178

來源:坚果派

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


相关推荐
学行库小秘8 分钟前
基于门控循环单元的数据回归预测 GRU
人工智能·深度学习·神经网络·算法·回归·gru
_meow_23 分钟前
数学建模 15 逻辑回归与随机森林
算法·数学建模·逻辑回归
Faith-小浩浩1 小时前
macos 多个版本的jdk
java·macos·jdk
二向箔reverse1 小时前
机器学习算法核心总结
人工智能·算法·机器学习
ankleless1 小时前
Python 数据可视化:Matplotlib 与 Seaborn 实战
开发语言·python
2501_928094652 小时前
OBS - Mac专业录屏工具(Mac中文)
macos·mac·录屏
Gavin_9152 小时前
一文速通Ruby语法
开发语言·ruby
搞一搞汽车电子2 小时前
vs studio 2017项目不支持studio vs2022
开发语言
大熊猫侯佩2 小时前
拒绝羡慕 Cursor!Xcode 自己也能利用 AI 大模型让撸码如虎添翼【超详细配置】
macos·ai编程·xcode
猿究院--冯磊2 小时前
JVM垃圾收集器
java·jvm·算法