「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

來源:坚果派

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


相关推荐
我命由我1234544 分钟前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
徐小黑ACG2 小时前
GO语言 使用protobuf
开发语言·后端·golang·protobuf
0白露3 小时前
Apifox Helper 与 Swagger3 区别
开发语言
Tanecious.4 小时前
机器视觉--python基础语法
开发语言·python
叠叠乐4 小时前
rust Send Sync 以及对象安全和对象不安全
开发语言·安全·rust
想跑步的小弱鸡4 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
Tttian6225 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
xyliiiiiL5 小时前
ZGC初步了解
java·jvm·算法
爱的叹息6 小时前
RedisTemplate 的 6 个可配置序列化器属性对比
算法·哈希算法
独好紫罗兰6 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法