我是靠谱客的博主 纯情冰淇淋,这篇文章主要介绍PAT乙 1028 人口普查 (GO语言),现在分享给大家,希望可以做个参考。

解题思路:
第3个测试点错误,这个比较坑,存在所有的输入都是不符合,有效个数为0,直接输出0即可
1.直接用字符串比较,不需要把后面的字符串再拆分成年月日
2.因为这题有时间区间,首先定义最年轻的1814/09/06,最年长的2014/09/06
3.接下去,每一次输入都比较一下,合适的就替换年轻/年长。
4.GO实现需要用bufio输入,不会超时

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package main import ( "bufio" "fmt" "os" "strings" ) type Birthday struct { name string birth string } func main() { var n int var young, old Birthday var inputReader *bufio.Reader inputReader = bufio.NewReader(os.Stdin) _, _ = fmt.Scanf("%d", &n) start := "1814/09/06" end := "2014/09/06" young.birth = start old.birth = end m:=0 for i:=0; i<n; i++ { str, _ := inputReader.ReadString('n') strArray := strings.Fields(str) name := strArray[0] birth := strArray[1] if birth <= end && birth >= start { m++ if birth > young.birth { young.name = name young.birth = birth } if birth < old.birth { old.name = name old.birth = birth } } } if m == 0 { fmt.Printf("%dn", m) } else { fmt.Printf("%d %s %sn", m, old.name, young.name) } }

最后

以上就是纯情冰淇淋最近收集整理的关于PAT乙 1028 人口普查 (GO语言)的全部内容,更多相关PAT乙内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部