c语言读取字符在记事本中出现次数
程序使用说明:
此程序可以统计出名称为1.txt的文件中/出现的次数
但是仅支持单个英文字母和标点符号查询,不支持汉字。
在本程序生成的exe根目录下放一个1.txt,
即可查询出该字符在1.txt记事本中出现的次数。
by 星云
测试文本内容如下:
源码如下:
#include<stdio.h> #include<windows.h> #include<string.h> #include<conio.h> int main() { FILE *fp; double i=0,j=0; char a,b; /*程序说明和界面设置,删除后对程序无影响*/ /************开始***********/ system("color a"); printf("\n\t\t此程序可以统计出名称为1.txt的文件中/出现的次数:\n\n"); printf("\n\t\t此程序仅支持单个英文字母和标点符号查询,不支持汉字。\n\n"); printf("\n\t\t此程序by星云,如有疑问,请联系xingyun26845@gmail.com!\n\n"); printf("按任意键继续!\n"); getch();/*无回显示接受一个字符*/ /*************结束************/ /*要查询字符*/ printf("请输入要查询字符:\n"); scanf("%c",&b); /*统计/在文件中出现的次数*/ /***************开始***********/ if((fp=fopen("1.txt","r"))==NULL) rewind(fp); while(!feof(fp)) { fscanf(fp,"%c",&a);/*读取文件中中的字符*/ if(a=='/') j++;/*每读一个计数一次*/ } fclose(fp);/*关闭并保存文件。*/ printf("\n\n\t/在文件中出现了%.0f次\n",j); /************结束**************/ /*统计查询字符在文件中出现的次数*/ /************开始*****************/ if((fp=fopen("1.txt","r"))==NULL) rewind(fp);/*光标移动到文件开头*/ while(!feof(fp)) { fscanf(fp,"%c",&a); if(a==b) i++; } fclose(fp); /************结束*****************/ /*************打印结果***********/ printf("\n\t%c在1.txt中出现了%.0f次\n",b,i); printf("\t查询字符%c出现的概率为:%f%%\n\n",b,100*(i/j)); printf("按任意键退出程序!\n"); getch(); return 0; }
运行结果:
*********************
交流即分享,分享才能进步!
不对之处,还请各位前辈多多指教。
by 星云
********************