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

2024-11-18 20:07:25
7次阅读
0个评论
最后修改时间:2024-11-18 20:10:52

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


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

一、L1-010 比较大小

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

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

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

代码实现
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 來源:坚果派 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


收藏00

登录 后评论。没有帐号? 注册 一个。