English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問一下各個英文字母出現的機率法的程式碼如何撰寫呢?共26個字母。程式語言可以的話用JAVA、C、C++、VB撰寫,謝謝 ^^

2006-12-25 19:13:17 · 2 個解答 · 發問者 ? 5 in 電腦與網際網路 程式設計

2 個解答

這問題最近很流行
看來都是同一批人馬! XD
跟你說個方向
可以利用ASCII碼下去判斷
使用者輸入字元是否於大小寫字母的區間
if YES 再利用array紀錄每個字母出現次數
大小寫沒分別 就切26個區塊
大小寫有別 就切2*26個區塊
利用if判斷式 將array內的counter++
ok??!!

2006-12-26 08:56:12 補充:
http://tw.knowledge.yahoo.com/question/question?qid=1606122502084
http://tw.knowledge.yahoo.com/question/question?qid=1606122104958

這是我在其他問題中回答的
題目跟你一樣
參考參考
記得 去找ASCII表來看看其規則喔!!

加油加油 不要聽我亂唬爛

2006-12-26 03:50:41 · answer #1 · answered by Anonymous · 0 0

#include
#include
#include

int main(int argc, char **argv)
{ unsigned ch[26];
int i;
long t;
FILE *f;
if (argc != 2)
{ printf("File to count: ");
f = fopen(gets((char *) ch), "r");
}
else
f = fopen(argv[1], "r");
for (t=i=0; i<26; i++) ch[i] = 0;
while ((i = fgetc(f)) != EOF)
{ t++;
if (isalpha(i))
ch[toupper(i)-'A']++;
}
fclose(f);
printf("Total word: %ld\\n", t);
for (i=0; i<26; i++)
printf("%c:%5d%7.2f%%\\n", i+'A', ch[i], 100.*ch[i]/t);
system("pause");
return 0;
}

2006-12-25 20:48:01 · answer #2 · answered by ? 7 · 0 0

fedest.com, questions and answers