C语言 统计单词个数

写一个程序统计一个单词(不区分大小写)在文章中出现的次数(单词指一个英文单词,全部由小写英文字母组成。单词的前后必须是符号字符或空字符)。

输入:
第一行是一些句子,表示一篇文章。(文章的长度不超过10000个字符)。
第二行是一个数字N(1≤N≤1062),代表查询的单词的数目。
以下每行一个单词(单词由小写英文字母组成,长度不超过20)。
输出:
每组测试数据输出一行,表示这个单词在文章中出现的次数。
例子输入:
David:hello,lily. Lily:oh,david!hello,how are you?
4
hello
day
ello
david

例子输出:
2
0
0
2
#include 
#include 
#include 

#define MAX_CONTENT 10000
#define MAX_WORD_LEN 20
#define MAX_WORD_COUNT 500

int GetWords(const char* szContent, char (*szWord)[MAX_WORD_LEN])
{
    int num = 0;
    if (szContent == NULL)
    {
        return num;
    }

    char *start = szContent;
    char *cur = NULL;
    while (*start)
    {
        int len = 0;
        cur = start;
        while (((*cur>='a' && *cur<='z') || (*cur>='A' && *cur<='Z')))
        {
            if (*cur>='A' && *cur<='Z')
            {
                *cur += 32;
            }
            cur++;
            len++;
        }

        if (len > 0)
        {
            memset(szWord[num], 0, MAX_WORD_LEN);
            memcpy(szWord[num], start, len);
            num++;
        }

        start += (len+1);
    }
    return num;
}

int GetWordCount(char (*szWord)[MAX_WORD_LEN], int num, char str[])
{
    int i;
    int count = 0;
    if (szWord==NULL || num<=0 || str==NULL)
    {
        return count;
    }

    for (i=0; i


你可能感兴趣的:(c/c++)