• 算法提高:不同单词个数统计


    问题描述
      编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。
      说明:(1)由于句子当中包含有空格,所以应该用gets函数来输入这个句子;(2)输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开;(3)不用考虑单词的大小写,假设输入的都是小写字符;(4)句子长度不超过100个字符。
      输入格式:输入只有一行,即一个英文句子。
      输出格式:输出只有一行,是一个整数,表示句子中不同单词的个数。
    输入输出样例
    样例输入
    one little two little three little boys
    样例输出
    5
    思路:一点不难,就是 用一个小数字记录每个单词,然后再进行比较这个单词是否出现过,所以c语言中的字符串操作函数就可以排上用场了。
    #include<stdio.h>
    #include<stdlib.h>
    
    int main(void)
    {
        char s[100][30];
        char a[100];
        int i;
        char temp[30];
        int j = 0,cnt=0;
        int n;
    
        gets(a);
        for (i = 0; a[i]; i++)
        {
            if (a[i] != ' ')
            {
                temp[j++] = a[i];
            }
    
            if (a[i] != ' ' && (a[i + 1] == ' ' || a[i + 1] == ''))
            {
                temp[j] = '';
                j = 0;
    
                if (cnt == 0) //如果是第一个单词
                {
                    strcpy(s[cnt++], temp);
                }
                else
                {
                    for (n = 0; n < cnt; n++)
                    {
                        if (strcmp(s[n], temp) == 0)
                            break;
                    }
    
                    if (n == cnt) //说明单词没有重复单词
                        strcpy(s[cnt++], temp);
                }
            }
    
        }
    
        printf("%d", cnt);
        return 0;
    }
  • 相关阅读:
    Node Exporter监控指标
    Prometheus组件介绍
    记录阿里云安全组设置遇到的奇葩问题--出口ip
    7.prometheus监控多个MySQL实例
    使用Docker Compose部署SpringCloud项目docker-compose.yml文件示例
    Docker Compose的安装及命令补全
    如何调试 Docker
    Dockerfile 最佳实践
    Docker 命令查询
    Docker常见问题
  • 原文地址:https://www.cnblogs.com/ZhengLijie/p/12518497.html
Copyright © 2020-2023  润新知