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;
}

运行结果:

posted @ 2014-07-16 20:45  技术宅星云  阅读(2026)  评论(1编辑  收藏  举报