一个用数组记录单词并用函数计数的C++问题

【问题描述】编写一个程序,读入几行文本,并打印一个表格。此表格按照单词在文本
中出现的顺序,显示每个不同单词(不区分大小写)在文本中的出现次数。约定每个单词的
长度不超过 20 个字符,每行文本字符数不超过 80,输入文本中的单词个数不超过 1000 个。
要求:
(1)可定义一个二维字符数组 char words[1001][21],用于按照输入文本中单词出现的顺
序依次存储每个单词。
(2)编写一个函数 readWords()从读入的几行文本中抽取每个单词,将其存储在二维数组
words 中。
(3)编写一个函数 countAndPrintWords(),依次计算 words 数组中每个单词出现的次数,
并按照每行显示五个单词的格式,依次打印出每个单词出现的次数。
(4)在 main 函数中,调用上述定义的函数。
程序运行实例:
【样例输入】
To be or not to be : that is the question,
Whether it’s nobler in the mind to suffer
【样例输出】
to 3 be 2 or 1 not 1 that 1
is 1 the 2 question 1 whether 1 it’s 1
nobler 1 in 1 mind 1 suffer 1

定义一个char [81]每次读一行,根据空格区分单词,并存入数组中,打印函数每打印一个单词后,往后比较是否有相同的单词并计数,同时把相同单词清零,避免重复计算