本篇将继续讲解PTA平台上的题目 L1-010 比较大小,通过对三个整数的排序,进一步提升Cangjie编程语言的数组操作与逻辑处理能力。
关键词
- PTA刷题
- 数字排序
- 条件判断
- Cangjie语言
一、L1-010 比较大小
题目描述:给定3个整数,要求将它们从小到大排序,并按格式输出。
- 输入格式:在一行中输入3个整数,其间以空格分隔。
- 输出格式 :在一行中将3个整数从小到大输出,数字间以 -> 相连。
解题思路
- 手动实现排序算法:通过条件判断对3个整数进行从小到大的排序。
- 格式化输出 :将排序后的整数按要求格式输出,数字间用 -> 分隔。
代码实现
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
}
代码详解
- 手动排序 :通过条件判断,将三个整数按照从小到大的顺序排序。具体步骤是依次比较和交换 x , y , z 的值,确保最终的顺序是 x <= y <= z。
- 输入解析 :将输入的字符串通过 split 方法分割为数组,并将字符串转换为 Int64 类型的整数。
- 格式化输出 :排序完成后,按 -> 连接符拼接排序后的结果,并输出。
示例执行
示例 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
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。