比如"is"与a进行比对,找到a中所有有a地方然后判断该位置是否为一个单词是则在对应b中增加数字
如果代码不想自己写的话
我可以有偿代劳
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语句
思路示意:char word[1000][20] ={0}//统计1000个单词,每个单词20字节长
int wordcount=0
int wordfreq[1000]= {0}//每个单词的词频
char line[1000]//每行最多1000个字母
int wordstart,wordend,ii
FILE *fp = fopen(文本文件)
while(!feof(fp))
{
scanf(fp,"%s",line)//读取一行
wordstart=0
for(wordend=wordstartwordstart<strlen(line) &&wordend<strlen(line)wordend++) //查找空格,切分单词
{
if (line[wordend]==' ')
{
line[wordend]=0x00
for(ii=0ii<wordcountii++) //查找单词是否在word队列中
{
if (!strcmp(word[ii], line[wordstart]) //单词已经存在
{
wordfreq[ii] ++
break
}
}
if (ii>=wordcount) //单词不存在
{
strcpy(word[wordcount], line[wordstart], strlen(line[wordstart])
wordcount++
}
wordstart = wordend + 1
}
}
if (wordstart<strlen(line)) //此行最后一个单词
{
line[wordend]=0x00
for(ii=0ii<wordcountii++) //查找单词是否在word队列中
{
if (!strcmp(word[ii], line[wordstart]) //单词已经存在
{
wordfreq[ii] ++
break
}
}
if (ii>=wordcount) //单词不存在
{
strcpy(word[wordcount], line[wordstart], strlen(line[wordstart])
wordcount++
}
wordstart = wordend + 1
}
}
}
fclose(fp)
//此时,word队列中保存了读取的所有单词,wordfreq队列中保存了相应的词频。
//使用排序算法进行排序(代码可以在网上搜)
for(ii=0ii<wordcountii++)
printf(" %s -> %d\n", word[ii], wordfreq[ii])
return 0