c语言 统计一个文本文件中字母,数字及其他字符各有多少个

通过先写,再读文件的方式统计
先打开一个文件,再自己读入字符串

#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "string.h"
main()

{char a[]="abcd hgh s1&&&",ch;
int i=0,j=0,k=0,l=0;
FILE *fp;
fp=fopen("d:\\liangnv.txt","w");
fputs(a,fp);

fclose(fp);
fp=fopen("d:\\liangnv.txt","r");
ch=fgetc(fp);
while(ch!=EOF)
{ if(ch>='a'&&ch<='z')i++;
else if(ch>='A'&&ch<='Z')j++;
else if(ch>='1'&&ch<='9')k++;
else l++;

ch=fgetc(fp);}
fclose(fp);
printf("小写字母%d\n",i);
printf("大写字母%d\n",j);
printf("数字\n%d\n",k);
printf("字符%d\n",l);
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-06
//---------------------------------------------------------------------------

#include <stdio.h>
#include <ctype.h>

int main(void)
{
FILE *fp;
int a=0,b=0,c=0;
fp=fopen("c:\\a.txt","r");/*要打开的文件,可以在此修改*/
while (!feof(fp))
{
if (isalpha(fgetc(fp)) a++;

else if (isdigit(fgetc(fp)) b++;

else c++;

}
printf("字母:%d\n数字:%c\n其它字符:%d\n",a,b,c);
return 0;
}
//---------------------------------------------------------------------------
相似回答