精华内容
下载资源
问答
  • c语言程序实现单词个数统计
    2021-05-19 08:25:28

    c语言实现读取文件识别单词个数,如果不存在自动创建名字,统计个数后可追加,追加内容#作为追加结束同时会统计个数并打印,如果不继续则可中断本次统计"^"作为结束。

    #include

    #include

    #include //为isspace()提供函数原型

    //断言类库文件

    #include

    //初始化最大可读入字符数

    #define LINE_MAX_CHAR 80

    //自定义bool类型

    #define bool int

    #define true 1

    #define false 0

    //统计文件中单词个数的函数

    int countNumber(char *filename) {

    //声明文件句柄

    FILE *fp ;

    fp = fopen(filename,"r");

    //断言

    assert(fp);

    //定义字符变量

    char buf[LINE_MAX_CHAR];

    //定义个数变量

    int numwords = 0;

    //定义是否在单词内

    bool inword = false;

    //定义读入字符变量

    char c;

    //打印文件标题双换行

    printf("This file content : \r\n\r\n");

    do {

    //通过句柄获取字符

    c = fgetc(fp);

    //讲读入的字符进行打印,分行输出用户输入的各行字符;

    printf("%c",c);

    //如果不是空格并且不在单词内并且为英文字符的情况下进行计数,并且设置inword变量为true同时进行字数进行加1操作

    if (!isspace(c) && !inword && !( c<64 || c>123 ||(c>91 && c<96) ) ) {

    inword = true;

    numwords++;

    //printf("%d",numwords);

    }

    //如果为空字符串并且在单词内则标示到达了单词的尾部,同时设置变量为false,进行下一个单词的计数。

    if (isspace(c) && inword) {

    inword = false;//到达单词的尾部

    }

    } while(c!=EOF);//当读取的字符不等于EOF文件结束符号时进行继续读入,否则结束。

    fclose(fp);

    return numwords;

    }

    int main()

    {

    //初始化文件句柄,打开可度文件

    FILE *fp ;

    char ch,flag;

    int numwords =0;

    char *filename="./test1.txt";

    do{

    if ((fp = fopen(filename,"a+")) == NULL) {

    printf("file cannot be created");

    return -1;

    }

    assert(fp);

    //统计当前文件内单词个数

    numwords = countNumber(filename);

    //打印换行

    printf("\r\n\r\n");

    //打印单词个数

    printf("current total words number : %d\r\n\n",numwords);

    printf("insert string to the disk file or not (# means is stop to insert words)\r\n");

    //获取命令行输入字符进行文件写入

    ch = getchar();

    while (ch!='#') {

    fputc(ch,fp);

    ch=getchar();

    }

    fclose(fp);

    putchar(10);//显示完全字符后进行换行

    numwords = countNumber(filename);

    //打印换行

    printf("\r\n\r\n");

    //打印单词个数

    printf("total words number : %d\r\n\n",numwords);

    printf(" ^ stop all operate insert \r\n");

    scanf("%s",&flag);

    } while(flag != '^' );

    printf("it's over\r\n");

    //返回0

    return 0;

    }

    经过多次调试,终于达成前面的要求!

    记录一下

    更多相关内容
  • 使用c语言如何统计单词个数

    千次阅读 2021-05-20 08:06:41
    使用c语言如何统计单词个数发布时间:2020-04...c语言统计单词个数的方法程序不认识单词,但是文章中的单词都是用空格间隔开的,换句话说,单词数=空格数+1。所有,c语言统计单词个数实际上转换成了统计文章中的空格...

    使用c语言如何统计单词个数

    发布时间:2020-04-21 13:58:58

    来源:亿速云

    阅读:207

    作者:小新

    使用c语言如何统计单词个数?相信有很多人都不太了解,今天小编为了让大家更加了解Golang,所以给大家总结了以下内容,一起往下看吧。

    c251e1281606e70b7ae95c73174df4c8.png

    c语言统计单词个数的方法

    程序不认识单词,但是文章中的单词都是用空格间隔开的,换句话说,单词数=空格数+1。

    所有,c语言统计单词个数实际上转换成了统计文章中的空格数。

    有了这样的问题转换思路,整个问题就简单多了。可以先按照这个思路自己实现,也可以直接看下面的代码实现。#include

    int main()

    {

    printf("输入一行字符:\n");

    char ch;

    int i,count=0,word=0;

    while((ch=getchar())!='\n')

    if(ch==' ')

    word=0;

    else if(word==0)

    {

    word=1;

    count++;

    }

    printf("总共有 %d 个单词\n",count);

    return 0;

    }

    程序测试:输入一行字符:

    I Love China

    总共有 3 个单词

    输入一行字符:

    I Love Xichang College

    总共有 4 个单词

    以上就是使用c语言如何统计单词个数的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!

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

    万次阅读 多人点赞 2020-01-04 15:39:41
    读取输入进来的一个字符串,统计其中单词的个数,由于每个单词字母不一样,长度不一样,所以来依靠识别单词来统计单词数是比较难的,下面观察一个字符串 I am a Chinese 可以发现这个字符串中,有4个单词,有3个...

    1 算法思想

    读取输入进来的一个字符串,统计其中单词的个数,由于每个单词字母不一样,长度不一样,所以来依靠识别单词来统计单词数是比较难的,下面观察一个字符串

    Thank you very much

    可以发现这个字符串中,有4个单词,有3个空格,实际上统计空格数就可以统计单词数,即单词数 = 空格数 + 1,下面给出两个程序实现

    2 实现1

    #include <stdio.h>
    int main() {
    	char a[100];
        int i, in_word, word_num;
        gets(a);
        word_num = 0; // 初始化单词个数为0
        in_word = 0; // 标记位,标记是否在单词内
        for (i = 0; a[i]; i++) {
            if (a[i] == ' ') { // 检测到空格
                in_word = 0; // 设置标记位为不在单词内
            } else if (in_word == 0) { // 在单词内
                word_num++; // 统计单词个数
                in_word = 1; // 设置标记位为在单词内
            }
        }
        printf("%d", word_num);
    }
    

    3 实现2

    #include <stdio.h>
    int main() {
        printf("输入一行字符:\n");
        char ch;
        int i,count=0,word=0;
        while((ch=getchar())!='\n') {
            if (ch==' ') {
                word=0;
            } else if (word==0) {
                word=1;
                count++;
            }
        }
        printf("总共有 %d 个单词\n",count);
        return 0;
    }
    
    展开全文
  • //num 用来统计单词个数 //state 用来记录程序当前是否处于一个单词之中,初值为0,表示不在单词中,值为1,表示正处于在一个单词中 printf("Please input the number of lines for English passage:"); scanf...
  • 本文给出计算一个字符串中单词个数C语言程序,感性趣的朋友可以看看。
  • C语言统计英文单词个数

    千次阅读 2020-12-10 14:01:26
    字符串中的非字母字符起分割单词的作用。为了方便代码处理,我们可以把所有非字母字符用一个统一的符号表示,例如,都转换成空格。以输入样例为例,用代码把 I like to read it, read it 100 times! 变成 I like to ...

    输入样例:

    I like to read it, read it 100 times!

    字符串中的非字母字符起分割单词的作用。为了方便代码处理,我们可以把所有非字母字符用一个统一的符号表示,例如,都转换成空格。以输入样例为例,用代码把

    I like to read it, read it 100 times!

    变成

    I like to read it read it times

    这样,我们能通过“数”字符串中有多少个分割来计算字符串中有多少个单词了。例如,例子中有8处空格(分割),分别位于I、like、to、read、it、read、it times之后。由于句子以分割结束(times后面有一个" "分割),因此句子中有8个单词。

    注意

    1. 多个连续的空格只能算一个分割。因此,在扫描到一个空格’ '的时候,要判断前一个字符是否也是空格" "。注意,字符串的首个字符没有“前一个字符”。
    2. 如果字符串以分割结束,则单词数 = 分割数。如果字符串以字母结束,则单词数 = 分割数+1

    代码展示:

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    int main()
    {
    	int num,i;
    	char str[100];
        fgets(str,100,stdin);
        for(i=0;str[i]!='\0';i++)//将字符串中非字母的字符(数字,标点)变为空格 
        {
        	if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
        	{
        		str[i]=str[i];
    		}
    		else
    		{
    			str[i]=' ';
    		}
    	}
    	for(i=0;str[i]!='\0';i++)
    	{
    		if(str[i]==' '&&str[i+1]!=' ')// 判断该字符是否为‘ ’且该字符后一个字符是否为‘ ’ 
    		{
    			num++;
    		}
    	}
    	if(str[i-1]!=' ')//判断字符串最后是否以字母结尾(因为字符串输入时将最后的回车也输入进去了,所以字符串最后一个一定是'\n') 
    	{
    		num++;
    	}
    	printf("%d\n",num);
        //printf("%d\n",num);
        return 0;
    }
    
    展开全文
  • C语言统计单词数量程序 超详解

    千次阅读 2020-03-14 22:50:52
    /********************************************************************************************************************* ...Description:一个统计单词个数的小程序 1.我们选定一个文本中不常用...
  • C语言统计文件中单词个数 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <conio.h> //argc:统计运行程序时命令行参数的个数 //*argv[]:存储每个参数的字符...
  • 本篇文章主要介绍在C语言中统计某个字母的个数、统计各种字符的个数统计单词个数;总之就是计数,-由于C语言中没有直接统计的函数,因此需要我们自己编写函数来循环遍历查找需要统计的元素。 一、统计某个字母的...
  • //#include #include #include #define MAXWORD 100//关键字最大的个数struct key //结构体数组,关键字按顺序排列{char *word;int count;} keytab[] = {"auto", 0,"break", 0,"case", 0,"char", 0,"const", 0,...
  • C语言统计单词的长度

    千次阅读 2021-04-28 21:57:49
    输出每个单词的长度(字符的个数),中间以1个空格分隔,最后一个数也有空格 输入样例1: hello world . 输出样例1: 5 5 输入样例2: the car is red. 输出样例2: 3 3 2 3 输入样例3: . 输出样例3:...
  • 统计单词个数-C语言实现

    千次阅读 2020-12-12 19:38:38
    统计单词个数-C语言实现 问题描述: 统计用户输入的句子中的单词的个数,比如: input: hello world! I am the c. output: 6 程序思想: 设置一个单词计数器:num 设置一个使能变量: numEnable,该使能变量的...
  • (1)输入记录模块:用户输入姓名,再输入需要背单词个数,系统随机从1号文件中读取指定个数的单词中文,显示给用户输入英文,并记录下用户输入正确的个数存入文件。 (2)查询记录模块:可以根据用户姓名,查询...
  • 因此,统计行数等价于统计换行符的个数。 #include /* count lines in input */ main() { int c, nl; nl = 0; while ((c = getchar()) != EOF) if (c == '\n') ++nl; printf("%d\n", nl); } 在该程序中,...
  • 大前提:单词用若干空格隔开 小前提:我写的全都是小写字母组成的语句。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<string.h> #define size 50 int fun(char s[]) { int i = 0, ...
  • C语言统计单词个数

    2021-05-18 11:49:34
    Q:输入一串字符串,输出其中有多少个单词。Eg:Good WishesA:#include #include #define SIZE 20int main(){ char str[SIZE]={'\0'}; int count=0;printf("plz input the string\n");gets(str);puts(str); int ...
  • 本题目要求编写程序统计一行字符中单词个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: ...
  • 单词统计这里运用了fgetc:int fgetc(FILE *stream)逐个读取文档中的字符,其中flag 表示前一个字符是否为空,仅前一个字符为空且当前字符不为空时单词个数加1。效果图代码#include int main(int argc,char** argv){...
  • 统计一行文本的单词个数:输入一行字符,统计其中单词个数.个单词之间用空格分隔,空格数可以是多个,代码部分: #includeint main(){int count=0;char temp;bool letter;letter=0;//letter=0为在单词里(单词没...
  • 编写一个函数count,有实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。 要求:(1)定义统计函数count来实现。 函数的原型为:void count(char str...
  • C语言统计字符串中单词个数 #include <stdio.h> int main( ) { int ri, repeat; int count=0, word=0; char c,oldc; scanf("%d", &repeat); getchar(); for(ri=1; ri<=repeat; ri++) { while...
  • 满意答案小城故事1983推荐于 2017.12.15采纳率:41%等级:12已帮助:8902人你的程序只需要修改两...(2.)你的想法是,如果单词不是重复的单词,就将它存入s2,但这时不能用“=”,应该用strcpy()函数,即,原程序中的s...
  • C语言--函数-统计单词个数

    千次阅读 2020-03-16 12:01:09
    以下为统计单词个数的代码(允许有空格) #include<stdio.h> void sum(char a[]) { int word=0,num=0,i; for(i=0;a[i]!='\0';i++) { if(a[i]==' ') { word=0; } else if(word==0) { word=1; num+...
  • 统计英语单词个数c语言

    千次阅读 2020-12-07 17:08:14
    英语教研室的老师找到了老师帮忙,老师一看这个题目太简单了,于是就交给了聪明能干的你,已知英语老师已经通过某种手段将英语作文扫描了下来,那么请你准确的统计有多少个字(单词),已知英文短文中只包含英文字母...
  • 题出自------------------------------------零基础学C语言 #include<stdio.h> int main() { char a[100]; int word = 1; int i; puts("请输入字符串:"); gets_s(a);/*这里需要使用gets_s()获取字符...
  • 要解决这个问题,最自然的算法是,读取文章的所有内容,然后一个单词一个单词统计,然而,我们在这里遇到了一个难题:程序看不懂英文,如何知道什么是一个单词,什么不是一个单词呢?似乎在这里遇到了障碍.
  • 统计单词”数(C语言

    千次阅读 2020-12-17 17:23:03
    输入一行字符(不多于80个字符),统计并输出其中的"单词"数,这里所谓"单词"就是由可显示字符组成的一子字符串,"单词"间用一个或多个空格分隔,首"单词"前和末"单词"后,可以有也可以没有空格。 【输入形式】 从键盘...
  • // 统计一行英文字母中所含有的单词个数: printf("请输入一行英文字符串,统计单词个数:"); char ch[]={}; gets(ch); printf("你输入的字符串为:%s\n",ch); int i =0 ,count=0,word=0; for (; ch[i]!...
  • 主要为大家详细介绍了C语言实现英文文本词频统计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,058
精华内容 2,823
关键字:

c语言程序统计单词的个数