go语言编程实现从键盘上输入五个由字母、数字及符号组成的字符串,各字符串间用空格隔开,最后将这五个字符串连成一个大字符串,用指针作参数调用统计子函数,统计该大字符串中数字大小字母及符号的数量。
时间: 2024-05-12 11:17:09 浏览: 55
好的,让我来回答你的问题。
首先,您可以使用以下代码来从键盘上输入五个由字母、数字及符号组成的字符串,并将它们用空格隔开,最后将五个字符串连成一个大字符串:
```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
var s1, s2, s3, s4, s5 string
fmt.Println("请输入五个由字母、数字及符号组成的字符串,各字符串间用空格隔开:")
fmt.Scan(&s1, &s2, &s3, &s4, &s5)
result := s1 + s2 + s3 + s4 + s5
fmt.Println("合并后的字符串为:", result)
}
```
接下来,您可以编写一个统计子函数来统计大字符串中数字大小字母及符号的数量。以下是代码实现:
```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
var s1, s2, s3, s4, s5 string
fmt.Println("请输入五个由字母、数字及符号组成的字符串,各字符串间用空格隔开:")
fmt.Scan(&s1, &s2, &s3, &s4, &s5)
result := s1 + s2 + s3 + s4 + s5
fmt.Println("合并后的字符串为:", result)
alphaNum, symbol, digit := countChars(result)
fmt.Printf("字母或数字的数量为:%d,符号数量为:%d,数字数量为:%d\n", alphaNum, symbol, digit)
}
func countChars(s string) (int, int, int) {
alphaNum := 0
symbol := 0
digit := 0
for _, c := range s {
if (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') {
alphaNum++
} else if c == ' ' {
continue
} else if c >= 33 && c <= 47 || c >= 58 && c <= 64 || c >= 91 && c <= 96 || c >= 123 && c <= 126 {
symbol++
} else {
digit++
}
}
return alphaNum, symbol, digit
}
```
在代码中,countChars() 函数用于统计大字符串中字母、数字和符号的数量。首先将三个变量初始化为 0,然后循环遍历大字符串中的每个字符。如果字符是字母或数字,则将 alphaNum 变量加 1;如果字符是空格,则跳过;如果字符是符号,则将 symbol 变量加 1;否则将 digit 变量加 1。最后将三个变量的值作为函数结果返回。
阅读全文