精华内容
下载资源
问答
  • #include <stdio.h> #include <stdlib.h> int main() ...//用word来判断输入单词是否结束,即当前输入的字符是不是依旧属于一个单词中 while((ch=getchar())!='\n') { if(ch == ' '...
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main()
    {
       char ch;
       int sum = 0,word = 0;//用word来判断输入的单词是否结束,即当前输入的字符是不是依旧属于一个单词中
    
       while((ch=getchar())!='\n')
       {
           if(ch == ' ')
            word = 0;//表示一个单词输入完成
           else if(word == 0)
           {
               word = 1;//表示当前正在输入单词
               ++sum;
           }
       }
    
       printf("%d",sum);
    
       return 0;
    }
    

    关注我获取更多编程方面的知识,和我共同进步吧~

    扫码_搜索联合传播样式-白色版.png

    展开全文
  • //通过键盘输入一行英文句子统计其中的英文字母和单词的数量,单词之间用空格分开(标点符号不算单词);#include<stdio.h> #include<string.h>#include<stdlib.h>main(){char string[100];//根据...

    //通过键盘输入一行英文句子,统计其中的英文字母和单词的数量,单词之间用空格分开(标点符号不算单词);
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    main()
    {
     char string[100];//根据拟从键盘输入的字串的长度需要适当调整,要避免输入的长度超出设定的范围。
     char c;
     int i, num=0,sum=0,word=0; //定义 word 用来指示一个单词是不是结束或新单词是否开始;
     printf("请从键盘输入一行需要查询的英文句子,进行单词数量统计:\n\n");
     gets(string);   //从键盘获得输入的字符串;
     //以下统计句子中的英文字符个数;
     for(i=0;(c=string[i])!='\0';i++) //for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='\0',即未到达结束符'\0'的话,执行i++;
        {
            if(('A'<=string[i]&&string[i]<='Z')||('a'<=string[i]&&string[i]<='z'))
                sum++;  //以上为条件句,如果字符在A~Z,a~z 范围之内的话,则执行sum++,累加英文字母个数;
        }
     //以下统计句子中的英文单词个数;
      for(i=0;(c=string[i])!='\0';i++) //for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='\0',即未到达结束符'\0'的话,执行i++;
        {                              //'\0'用作字符串的结束符。它的ASCII数值是0。
        if(c<'A'||c>'Z'&&c<'a'||c>'z')   //设定条件:如果字符 c 遇到A~Z和a~z范围之外其它符号字符的话,包括遇到空格' ';
             word=0;      //上面条件为真时,执行这里,置word=0,表示未遇到单词,或,一个单词已结束,同时也意味着要开始遇到下一个新单词;
        else if(word==0)  //当条件(word==0)为真,执行下面花括号里面的语句;当word==0时,表示未遇到字母,即未遇到单词,或上一个单词已结束;
               {
                   word=1;   //那么置word=1,即,表示下一个新单词开始,
                   num++;   //执行num++,累加英文单词的个数;
               }
        }
        printf("\n");
        printf("您输入的这句英文句子中共包含%d个英文字符,%d个英文单词。\n",sum,num);
        
    }

    示例:输入语句:  Hello ! My friend , how are you ? (注意单词的前后有空格)

    转载于:https://www.cnblogs.com/xmhango/p/5501899.html

    展开全文
  • C语言 统计单词个数

    万次阅读 2011-12-10 00:53:43
    写一程序统计个单词(不区分大小写)在文章中出现的次数(单词指一个英文单词,全部由小写英文字母组成。单词的前后必须是符号字符或空字符)。 输入: 第一行是一些句子,表示一篇文章。(文章的长度不超过...
    写一个程序统计一个单词(不区分大小写)在文章中出现的次数(单词指一个英文单词,全部由小写英文字母组成。单词的前后必须是符号字符或空字符)。

    输入:
    第一行是一些句子,表示一篇文章。(文章的长度不超过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 <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #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<num; i++)
        {
            if (strcmp(szWord[i], str) == 0)
            {
                count++;
            }
        }
    
        return count;
    }
    int main()
    {
        int i;
        char szContent[MAX_CONTENT] = {0};
        char szWord[MAX_WORD_COUNT][MAX_WORD_LEN];
    
        printf("please input content:\n");
        gets(szContent);
        int totalNum = GetWords(szContent, szWord);
    
        printf("please input word count:\n");
        int inputCount = 0;
        char szTemp[MAX_WORD_LEN];
        scanf("%d", &inputCount);
        int *pCount = malloc(sizeof(int)*inputCount);
        for (i=0; i<inputCount; i++)
        {
            memset(szTemp, 0, MAX_WORD_LEN);
            scanf("%s", szTemp);
            pCount[i] = GetWordCount(szWord, totalNum, szTemp);
        }
    
        printf("-----------------\n");
        for (i=0; i<inputCount; i++)
        {
            printf("%d\n", pCount[i]);
        }
    
        free(pCount);
    
        return 0;
    }
    


    展开全文
  • C语言统计单词个数

    千次阅读 2013-06-22 14:32:45
    #include "stdio.h" ... printf("请输入一行英文:\n");  gets(s);  for(i=0;(c=s[i])!='\0';i++)//判断句子是否到未  if(c==' ') word=0;//是空格就为0  else if(word==0)//不是空格就判断
    #include "stdio.h"
    main()
    {
     char s[81],c;
     int i,num=0,word=0;
     printf("请输入一行英文:\n");
     gets(s);
     for(i=0;(c=s[i])!='\0';i++)//判断句子是否到未
     if(c==' ') word=0;//是空格就为0
      else if(word==0)//不是空格就判断之前有没有空格
        {
          word=1;//复位用来判断空格是否存在的开关
          num++;//如果之前有空格,单词数加1
        }
     printf("本行中共有%d个单词.\n",num);
    }


    其原理很简单:


    对每个字符进行判断,如果是空格就把变量word标记为0,如果不是空格就判断word是不是0(即判断之前有没有空格),如果存在空格单词量加1,然后复位word变量为0。就这样重复,知道句子结束


    追问


        理解了一些了 !! 谢谢!谢谢,已经很易懂了,
        但是还想请教一下  你说的复位那 不太理解 如果是单词了 num就+1了 为什么要让word=1呀


    回答


        其实word不一定非要等于1的,只要等于非0就可以了,如果不重置word,你下下一次输入字符时,num一样+1.。举个例子:
        我输入的是:It is happy that help somebody !
        首先经过程序的计算,这里会有7个单词,“!”也算进去了。
        判断开始,此时word=0;发现第一个不是空格,word=1,num加1;第二个字符不是空格,但此时word=1(这里就是为什么要重置word的原因,不然I和t会被视为2个单词)而不是0所以,所以num不增加。然后又发现第三个字符时空格,此时把word置为0,然后发现第四个字符不是空格,此时word在前一次遇到空格时置为0,所以满足条件word=0且c为非空格,所以此时word又被赋值1,num又加1,此时num为2(检查到的单词为it和is)。。。然后继续这样循环。。直到句子结束。
    展开全文
  • 输入个英文句子,把句子中的单词(不区分大小写)按出现次数按从多到少把单词和次数在屏幕上输出来,要求能识别英文句号和逗号,即是说单词由空格、句号和逗号隔开。 输入描述: 输入有若干行,总计不超过1000...
  • C语言单词数统计

    2020-04-11 01:30:28
    在这里插入代码输入一行英文句子统计其中的单词个数(这里的单词是指有>=1个大小写字母连续出现所组成的子串,非大小写字母出现可认为一个单词结束。句子长度不超过50。 例如“Hello world!”单词个数为2。 ...
  • 编写程序,实现单词个数统计。从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。输入要求:输入只有一行句子。仅有空格和英文字母构成。输出要求:输出单词的个数。 ...
  • 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。  说明:(1)由于句子...
  • C语言实验——单词统计

    千次阅读 2016-11-07 00:34:03
    C语言实验——单词统计 ...从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词
  • C语言实验——单词统计 ...从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。 Sample ...
  • 从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。 Sample Input stable marriage ...
  • 从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。 Sample Input stable marriage problem...
  • C语言实验——单词统计 (sdut oj)

    千次阅读 2017-02-08 22:51:38
    C语言实验——单词统计 ...从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Ou
  • C语言实验——单词统计 Time Limit: 1 Sec Memory...从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。
  • 从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。 Sample Input stable marriage problem...
  • Problem Description从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。Input输入只有一行句子。仅有空格和英文字母构成。Output单词的个数。Sample Inputstable ...
  • 从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多输入 输入只有一行句子。仅有空格和英文字母构成。 输出 单词的个数。 示例输入 ...
  • C语言实验——单词统计 Time Limit:1 SecMemory ...从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词...
  • C语言实验——单词统计 ...从键盘输入一行字符(长度小于100),统计其中单词的个数,各单词以空格分隔,且空格可以是多。 Input 输入只有一行句子。仅有空格和英文字母构成。 Output 单词的个数。 Sample ...
  • C语言实验题——单词统计

    千次阅读 2014-01-20 21:21:28
    从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格可以是多输入 输入只有一行句子。仅有空格和英文字母构成。 输出 单词的个数。 样例输入 stable marriage problem ...

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

c语言输入英文句子统计单词个数

c语言 订阅