统计文本文件中各类字符个数:
统计文本文件中各类字符个数:分别统计一个文本文件中字母、数字及其他字符的个数。试编写相应程序
#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编辑过]