请教一个统计字符、数字、大、小写字母的问题。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
void main()
{
FILE *fp1;
int flag=1,cha=0,ent=0,num=0,bz=0,sz=0;//字符,换行,数字,大写字母,小写字母
char ch;
printf("请为文件Qh.txt输入文本(输入x或X为结束符):\n");
do
{
ch=getchar();
if((fp1=fopen("Qh.txt","a+"))==NULL)
{
printf("文件打开错误!");
exit(0);
}
else
{
fputc(ch,fp1);
}
}while(ch!='x'&&ch!='X');
printf("输入完成\n\n");
do
{
rewind(fp1);
ch=fgetc(fp1);
if(ch>47&&ch<58)
{
num++;
}
else if(ch==13)
{
ent++;
}
else if(ch>96&&ch<123)
{
sz++;
}
else if(ch>64&&ch<91)
{
bz++;
}
else
{
cha++;
}
fclose(fp1);
}while(!(feof(fp1)));
printf("文件Qh.txt的统计数据如下:\n");
printf("字符 = %d\n换行符 = %d\n数字 = %d\n大写英文字母 = %d\n小写英文字母 = %d\n",cha,ent,num,bz,sz);
}