c語言讀取字元在記事本中出現次數

weixin_34262482發表於2014-07-16

程式使用說明:

            此程式可以統計出名稱為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;
}

執行結果:

相關文章