C語言題目求解統計英文文字檔案中英文字母出現次數

2021-03-06 14:24:58 字數 6117 閱讀 5803

1樓:匿名使用者

定義一個陣列來計數就可以了

int **t[26]=;

int ch;

讀字元 ch=fgetc(fp);

if ( ch >='a' && ch<='z' )**t[ch-'a']++ ; //相應位+1 這裡要求文字中的英文字母必須都是小寫

關於替換,則需要用strstr()函式去查詢了

2樓:滄海雄風

#include

int main()

;fp = fopen("data.txt","r");

while ( (ch =fgetc(fp))!=eof )if (ch >='a' && ch<='z')}fclose(fp);

printf("字母使用(不分大小寫):");

for (i=0;i<26;i++)

return 0;

}asdgdfgdhbcvbgteyegdfgdfgsdfsdfx

xcvxcvxcv

xcbcvb字母使用(不分大小寫):[a][1] [b][4] [c][6] [d][7] [e][2] [f][5] [g][6] [h

][1] [i][0] [j][0] [k][0] [l][0] [m][0] [n][0] [o][0] [p][0] [q][0] [r][0] [s][3

] [t][1] [u][0] [v][5] [w][0] [x][5] [y][1] [z][0] press any key to continue

3樓:匿名使用者

/* 統計

的*/#include "stdio.h"

main()

;char str[100] = "";

char * p = str;

int i;

gets(str);

while(*p)

p++;

}/*輸出統計結果*/

for( i = 0;i<26;i++)

}getch();}

c語言統計一個英文文字檔案中26個英文字母出現次數並按英文字母序輸出統計結果,

4樓:金色潛鳥

feof(fp) 的測定,應在剛讀

完的時候,而不是在讀以前。

while(1)

c語言題目,從鍵盤輸入一行文字,統計其中每個英文字母出現的頻率

5樓:用著追她

1、新建來一個工程和.c檔案 ,輸入頭原始檔和主函式。

2、定義 變數型別,輸入數字。

3、用while語句判斷數字是否在1到4範圍內。

4、呼叫函式。

5、用一個for語句輸出。

6、編譯、執行 ,得到最後的結果。

6樓:匿名使用者

#include

int main(void)

; //存放26個字母的出現頻率

while ((a = getchar()) != '\n') //輸入字元直到遇到回車為止,while迴圈為核心演算法

//第一個元素b[1]存'b'的出現頻率,以此類推}}for (i=0;i<26;++i)

else

}printf("\n");}

7樓:匿名使用者

#include

void main()

c=getchar();

}for(int i=0;i<27;i++)}

用c語言編寫,對於任意輸入的一段英文,統計並輸出26個英文字母的出現次數

8樓:

參考我以前的回答:

回答1、

回答

編寫一個c語言程式:從鍵盤讀入一行文字,統計每個英文字母出現的次數

9樓:匿名使用者

對於每個英文字母分別判斷個數,並累計,最終輸出即可。

一、演算法:

1、迴圈讀取字元,直到換行為止。對於每個字元,執行以下流程。

2、判斷是否為英文字母,即小寫和大寫兩種。

3、如果是英文字母,則統計個數。

輸入部分,可以存為陣列,也可以每輸入一個字元計算一次。

二、參考**:

#include

int main()

;while((c=getchar())!='\n')//讀取每個字元,直到遇到換行為止。

for(c=0;c<26;c++)//輸出大寫字母統計結果。

if(**t[c]!=0) printf("%c:%d\n", c+'a', **t[c]);

for(c=26;c<52;c++)//輸出大寫字母統計結果。

if(**t[c]!=0) printf("%c:%d\n", c-26+'a', **t[c]);

return 0;}

10樓:

#include

#include

#define max 100int main()

; // count 陣列用來儲存各個字母出現的次數

scanf("%s", str);

while(str[i] != '\0')if (str[i] >= 'a' && str[i] <= 'z')

i++;

}for (i = 0; i < 26; i++)for (i = 26; i < 52; i++)return 0;}

11樓:匿名使用者

#include

int main(void)

;while ((a = getchar()) != '\n')}}

for (i=0;i<26;++i)

else

}printf("\n");}

c語言題目輸入一行字元,分別統計出其中英文字母,空格,數字和其他字元的個數。

12樓:非常可愛

錯誤**:

if('a'<=nextchar<='z'||'a'<=nextchar<='z')

else if('0'<=nextchar<='9')修改後:

#include

int main()

}擴充套件資料

c++輸入一行字元,分別統計出其中英文字母、空格、數字和其他字元的個數。

#include

int main()

printf("%d %d %d %d\n",a,b,c,d);

return 0;}

13樓:匿名使用者

錯誤**:

1.'a'<=nextchar<='z'||'a'<=nextchar<='z';

2.'0'<=nextchar<='9'。

錯誤原因:當多個條件時,需要使用邏輯運算子。

修改後**為:

int main(void)

else if (c == ' ')

else if (c >= '0'&&c <= '9')else

}printf("字母=%d,數字=%d,空格=%d,其他

return 0;}

14樓:匿名使用者

一、問題分析:

輸入一行字母,那麼會以換行結束。所以可以存入陣列,也可以逐個輸入,遇到換行結束。

要統計各個類的個數,就要逐個判斷是哪個分類的。

由於在ascii碼中,數字,大寫字母,小寫字母分別連續,所以可以根據邊界值判斷型別。

二、演算法設計:

1、讀入字元,直到遇到換行結束。

2、對於每個字元,判斷是字母還是數字,或者空格,或者是其它字元。

3、對於每個字元判斷後,對應類別計數器自加。

4、最終輸出結果。

三、參考**:

#include

int main()

printf("%d %d %d %d\n", a,b,c,d);//輸出結果。

return 0;}

15樓:gta小雞

開始↓gets()讀一行字元存到char *s中strlen()函式求字串s長度

陣列cal[4]用來累計字母、空格、數字、特殊字元的個數for(i=0;i

輸出cal陣列各元素的值結束

16樓:匿名使用者

即學了程式設計又學了英語(沒學好……),豈不美哉?

(printf()函式能用那種方式是因版本的關係)

本程式的優點:不受到字串長度的限制,執行效率高

#include

int main (void)

++resnum;                    //attention! because of the newline (ascii: 10)!

//data output

printf ("\nthe results of data processing are as fellows.\n");

printf ("the number of letters:%8d\n"

"the number of space: %8d\n"

"the number of digits: %8d\n"

"the number of others:%8d\n",

letnum, spanum, dignum, resnum);

//the end

printf ("\nthank you for your using!");

return 0;}

17樓:匿名使用者

#include

int main()

if(e>='0' && e<='9')// 數字是'0'到'9'的字元,不是ascii值0到9

if((e>=65&&e<=90)||(e>=97&&e<=122))//用c來接受字母的個數

else //用d來接受其他字元的個數

}printf("共輸入空格%d個\n",a);

printf("共輸入數字%d個\n",b);

printf("共輸入字母%d個\n",c);

printf("共輸入其他字元%d個\n",d);

return 0;}

18樓:匿名使用者

clear

accept "請輸入一串字元:" to xstore 0 to dyw,xyw,kg,sz,qtm=len(x)

for i=1 to m

x1=substr(x,i,1)

k=asc(x1)

do case

case k=32

kg=kg+1

case k>=48 and k<=57

sz=sz+1

case k>=65 and k<=90

dyw=dyw+1

case k>=97 and k<=122xyw=xyw+1

other

qt=qt+1

endcase

endfor

?"其中空格有: "+alltrim(str(kg))+"個"

?"大寫字母有: "+alltrim(str(dyw))+"個"

?"小寫字母有: "+alltrim(str(xyw))+"個"

?"數字有: "+alltrim(str(sz))+"個"

?"其它字元有: "+alltrim(str(qt))+"個"

C語言題目求解,c語言題目求解

include int str find right char s char x int main c語言題目求解 就是x首先等於 1,如果a 0那x 1,如果a 0那x 1,否則也就是a 0那x 0,所以選c else跟的是第一個if選c c語言題目求解 效果如下圖 源 如下 網頁端比較好看 in...

C語言題目求解答,C語言程式設計題目。求解答。

執行順序是這樣的,原因 a v1 0 所以 v1 0 if v1 不能執行,執行elsev2 0 所以if v2 不能執行 執行x 1 返回結果 1 先看第一個if語句,因為a 10,b 20,a 接著看b 20確實不等於15,b!15為真,所以也執行該if語句,在接下來看!v1,由於v1 5,v1...

C語言題目求解

這 是考程式設計,根本是在考英文。不知道我理解正確了嗎,如下 檔案 my pointerfun.c include my pointerfun.h void my pointerfun double x,double y 檔案 statistics.c include include include...