GO语言编程实现从键盘输入一个任意位数的整数,逆序打印输出每一位数据
时间: 2024-11-29 08:35:36 浏览: 6
在Go语言中,你可以通过`fmt.Scan()`函数获取用户的键盘输入,并使用字符串切片和for循环来逐个提取和反转整数的每一位。下面是一个简单的示例程序:
```go
package main
import (
"fmt"
)
func main() {
var input string
fmt.Print("请输入一个任意位数的整数:")
fmt.Scan(&input) // 获取用户输入
// 将输入转换为整数
num, err := strconv.Atoi(input)
if err != nil {
fmt.Println("输入错误,请输入一个整数。")
return
}
// 反转整数的每一位并打印
reversedNum := reverseInt(num)
for _, digit := range reversedNum {
fmt.Printf("%d", digit)
}
fmt.Println()
}
// 定义一个辅助函数来反转整数的每一位
func reverseInt(num int) []int {
// 使用ASCII码值存储每一位数字
bits := make([]byte, 0)
for num > 0 {
bits = append(bits, byte(num%10))
num /= 10
}
// 从低位到高位反转数组
for i, j := 0, len(bits)-1; i < j; i, j = i+1, j-1 {
bits[i], bits[j] = bits[j], bits[i]
}
// 转换回整数列表
reversedDigits := make([]int, len(bits))
for i, v := range bits {
reversedDigits[i] = int(v-'0')
}
return reversedDigits
}
```
当你运行这个程序,它会提示你输入一个整数,然后按照逆序的方式打印出每一位。
阅读全文