程序使用說明:
此程序可以統計出名稱為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星雲,如有疑問,請聯系[email protected]!\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; }
運行結果:
#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();
}給點分
襖 做一個鏈表,當沒輸入一回節點的時候吧節點寫入文件 ,最後統計鏈表的索引,就知道出現次數,位置沒弄過,應該弄個全局變量記錄下或者也寫入鏈表吧,這個你可以試下