C语言统计该文本中 英语单词的个数 ?

C语言统计该文本中 英语单词的个数 ?,第1张

给一个简单的例子:

#include<stdio.h>#define N 1000void main(){ char en[N][81] int i,j,num=0,n,state //num 用来统计单词的个数 //state 用来记录程序当前是否处于一个单词之中,初值为0,表示不在单词中,值为1,表示正处于在一个单词中

FILE *fp

fp = fopen("in.txt", "r")

int n =0

while(!feof(fp)){fgets(en[n++], N, fp) //输入英语短文 } for(i=0i<ni++){state=0//设每行的开始都是单词的开始for(j=0en[i][j]!='\0'j++){ if(en[i][j]==' '){state=0 //判断 en[i][j] 是否为空格字符 } else if(state==0){state=1 num++ }} } printf("The number of words is %d\n",num)}

#include<stdio.h>

#include<ctype.h>

void main()

{

char ch

int numberofword=0,wordStart=0

FILE *fp1 = fopen("test.txt","r")

FILE *fp2 = fopen("result.txt", "w")

if( fp1==NULL || fp2==NULL )

{

puts("cannot open file!")

return

}

while( !foef(fp1) )

{

ch =fgetc(fp1)

if( isalpha(ch) &&wordStart==0 )

{

wordStart = 1

}

else if( !isalpha(ch) &&wordStart==1 )

{

numberofword++

wordStart = 0

}

}

fprintf(fp2,"%d",numberofword)

fclose(fp1)

fclose(fp2)

}

1、统计英文文本中单词个数。

if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) sum++

2、统计某一特定单词出现的频度。

for(i=0i!='/0'i++)

{

if(a[i]=='特定单词')

sum++

}

扩展资料:

if语句的一般形式如下:

if(表达式)语句1

[else语句2]

if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。

for循环小括号里第一个“”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值。

参考资料来源:百度百科-for循环

参考资料来源:百度百科-if语句


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12014235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存