编写一个 Go 程序,使用 for 循环查找数字的各位之和。for 循环条件确保数字大于零。在循环中,
- digiReminder = digiNum % 10 – 它将数字的最后一位加到 digiReminder。
- digiSum = digiSum + digiReminder -> 将最后一位加到 digiSum。
- digiNum = digiNum / 10 – 它从 digiNum 中移除最后一位。
package main
import "fmt"
func main() {
var digiNum, digiSum, digiReminder int
fmt.Print("Enter the Number to find the Sum of Digits = ")
fmt.Scanln(&digiNum)
for digiSum = 0; digiNum > 0; digiNum = digiNum / 10 {
digiReminder = digiNum % 10
digiSum = digiSum + digiReminder
}
fmt.Println("The Sum of Digits in this Number = ", digiSum)
}

Go 程序使用函数查找数字的各位之和
package main
import "fmt"
var digiSum int
func digitSum(digiNum int) int {
var digiReminder int
for digiSum = 0; digiNum > 0; digiNum = digiNum / 10 {
digiReminder = digiNum % 10
digiSum = digiSum + digiReminder
}
return digiSum
}
func main() {
var digiNum int
fmt.Print("Enter the Number to find the Sum of Digits = ")
fmt.Scanln(&digiNum)
digiSum = digitSum(digiNum)
fmt.Println("The Sum of Digits in this Number = ", digiSum)
}
SureshMac:GoExamples suresh$ go run digitSum2.go
Enter the Number to find the Sum of Digits = 4567
The Sum of Digits in this Number = 22
SureshMac:GoExamples suresh$ go run digitSum2.go
Enter the Number to find the Sum of Digits = 98759
The Sum of Digits in this Number = 38
Golang 程序使用递归计算数字的各位之和 在此 Golang 程序中,我们递归调用 digitSum(digiNum/10) 函数来计算数字的各位之和。
package main
import "fmt"
var digiSum int
func digitSum(digiNum int) int {
digiSum = 0
if digiNum == 0 {
return 0
}
digiSum = digiNum%10 + digitSum(digiNum/10)
return digiSum
}
func main() {
var digiNum int
fmt.Print("Enter the Number to find the Sum of Digits = ")
fmt.Scanln(&digiNum)
digiSum = digitSum(digiNum)
fmt.Println("The Sum of Digits in this Number = ", digiSum)
}
SureshMac:GoExamples suresh$ go run digitSum3.go
Enter the Number to find the Sum of Digits = 45678
The Sum of Digits in this Number = 30
SureshMac:GoExamples suresh$ go run digitSum3.go
Enter the Number to find the Sum of Digits = 8098603
The Sum of Digits in this Number = 34