使用 For 循环编写一个 Go 程序来统计数组中的重复项。在这里,我们使用了嵌套的 for 循环,第一个 for 循环(for i = 0; i < dupsize; i++)迭代从 0 到 n 的数组项,内部的 for 循环(for j := i + 1; j < dupsize; j++)从 1(i+1)开始。对于每个 i 值,嵌套的 for 循环将从 i+1 迭代到 dupsize。
在其中,我们使用了 If 语句(if dupArr[i] == dupArr[j])来检查数组项是否与其他项相等。一旦找到重复的数组项,dupcount 将会增加,break 将会使 GC 从 for 循环中退出。
package main
import "fmt"
func main() {
var dupsize, i int
fmt.Print("Enter the Even Array Size = ")
fmt.Scan(&dupsize)
dupArr := make([]int, dupsize)
fmt.Print("Enter the Even Array Items = ")
for i = 0; i < dupsize; i++ {
fmt.Scan(&dupArr[i])
}
dupcount := 0
for i = 0; i < dupsize; i++ {
for j := i + 1; j < dupsize; j++ {
if dupArr[i] == dupArr[j] {
dupcount++
break
}
}
}
fmt.Println("\nThe Total Number of Duplicates in dupArr = ", dupcount)
}
Enter the Even Array Size = 5
Enter the Even Array Items = 10 20 30 20 10
The Total Number of Duplicates in dupArr = 2
Golang 程序:使用函数统计数组中的重复项。
在此 Go 程序中,我们创建了一个单独的(func countDuplicates(dupArr []int, dupsize int))函数,该函数返回重复数组项的计数。
package main
import "fmt"
var dupcount, i int
func countDuplicates(dupArr []int, dupsize int) int {
dupcount = 0
for i = 0; i < dupsize; i++ {
for j := i + 1; j < dupsize; j++ {
if dupArr[i] == dupArr[j] {
dupcount++
break
}
}
}
return dupcount
}
func main() {
var dupsize int
fmt.Print("Enter the Even Array Size = ")
fmt.Scan(&dupsize)
dupArr := make([]int, dupsize)
fmt.Print("Enter the Even Array Items = ")
for i = 0; i < dupsize; i++ {
fmt.Scan(&dupArr[i])
}
dupcount = countDuplicates(dupArr, dupsize)
fmt.Println("\nThe Total Number of Duplicates in dupArr = ", dupcount)
}
