统计文本文件中各类字符个数:
统计文本文件中各类字符个数:分别统计一个文本文件中字母、数字及其他字符的个数。试编写相应程序
程序代码:
#include <stdio.h>
int main(int argc, char **argv)
{
int ZiMu[26] = {0};
int ShuZi[10] = {0};
int QiTa = 0;
char c;
int i;
FILE * p ;
p = fopen("test.txt","a+");
printf("注意:需要在本程序的根目录生成test.txt文件,并输入文本内容作查询资料。\n"
"我这里把EOF也读为一个其他字符并输出,所以EOF也算作了其他字符。\n");
if (p != NULL){
printf("\n以下为读出的内容\n");
do{
c = fgetc(p);
printf("%c",c);
if (c >= 'a'&& c <= 'z'){
ZiMu[(c-'a')]++;
}else if (c >= 'A' && c <= 'Z'){
ZiMu[(c-'A')]++;
}else if (c >= '0' && c <= '9'){
ShuZi[(c-'0')]++;
}else {
QiTa++;
}
} while (c != feof(p) && c != EOF);
fclose(p);
}
printf("\n以下各字母数\n");
for (i = 0 ; i < 26 ; i++){
printf("%3c",i+'A');
}
printf("\n");
for (i = 0 ; i < 26 ; i++){
printf("%3d",ZiMu[i]);
}
printf("\n");
printf("\n以下各数字数\n");
for (i = 0 ; i < 10 ; i++){
printf("%3d",i);
}
printf("\n");
for (i = 0 ; i < 10 ; i++){
printf("%3d",ShuZi[i]);
}
printf("\n");
printf("\n以下为其他数\n");
printf("%d",QiTa);
return 0;
}
[此贴子已经被作者于2017-2-23 11:00编辑过]










