C语言实现对英文文章的单词统计
2013-12-21 17:23
1016 查看
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<stdbool.h> bool isA2z(char c) { bool bl = true; if(!((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '-')) { bl = false; } return bl; } bool isword(char s[]) { bool bl = true; int i = 0; for(i = 0; i < strlen(s); i++) { if(!isA2z(s[i])) { return false; } } return bl; } bool format(char s[20]) { bool bl = true; int i = 0; int j = 0; char s_temp[20]; s_temp[0] = 127; for(i = 0; i < strlen(s); i++) { if(isA2z(s[i])) { s_temp[j] = s[i]; j++; } } if(s_temp[0] == 127) { return false; } s_temp[j] = '\0'; j = 0; for(i = 0; i < strlen(s_temp); i++) { s[i] = s_temp[i]; j++; } s[j] = '\0'; return bl; } int main(void) { int k = 1; printf("————————欢迎使用文本统计程序————————\n"); while (k) { FILE *fp; FILE *fp_sort; char word[20]; char filename[20]; int sort[27]; sort[26] = 0; printf("请输入要统计的文件的文件名:\n"); scanf("%s", &filename); int i = 0; char filename_sort[20] = "a.txt"; printf("统计结果如下:\n"); for(i = 0; i < 26; i++) { sort[i] = 0; filename_sort[0] = 'a' + i; if((fp_sort = fopen(filename_sort, "w")) == NULL) { printf("Child file open error!\n"); exit(0); } if((fp = fopen(filename, "r")) == NULL) { printf("File open error!\n"); exit(0); } while (!feof(fp)) { fscanf(fp, "%s", &word); if(format(word)) { if(word[0] == 'a' + i || word[0] == 'A' + i) { fputs(word, fp_sort); fputs(" ", fp_sort); sort[i]++; sort[26]++; } } } fclose(fp_sort); fclose(fp); printf("以字母%c开头的单词共有%d个\n", 'a' + i, sort[i]); } printf("本文单词总数为%d个\n", sort[26]); printf("输入数字0退出,输入其他数字继续统计下一篇\n"); scanf("%d", &k); } return 0; }
这个是在linux下运行的版本
相关文章推荐
- 用C语言实现了对英文文章中单词频率的统计,得到出现最多的前十个!
- 统计英文文章中出现的单词数量(基于字节实现)
- 统计英文文章中空格数,单词数,字符数,并删除指定字符 (c语言)
- C语言实现的统计一个单词在文章中的频率
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- C++语言,统计一篇英文文章中的单词数(用正则表达式实现)
- C语言统计一篇英文短文中单词的个数实例代码
- 有关统计单词频率的算法c语言实现
- 有关统计单词频率的算法c语言实现
- 统计文件中每个单词的个数--C语言实现
- 使用Java统计英文文章的单词频率。
- Python实现统计英文单词个数及字符串分割代码
- python实现统计汉字/英文单词数的正则表达式
- 统计一篇文章中长度大于6个的英文单词个数【重复的单词只算一次】。
- C语言通过二叉树实现单词出现频率的统计
- C语言实现二叉树-利用二叉树统计单词数目
- 转:java写一个方法实现统计一条英文语句忠每个单词的个数
- 统计并找出一句英文句子中最长的一个单词(C语言)
- 任意一个英文的纯文本文件,统计其中的单词出现的个数(shell python 两种语言实现)
- 统计分析文章中英文单词出现次数及频率(C++实现)