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

各位高手好,我一時興起寫了一個能計算文章字數的程式,有幾個英文字、中文字、符號,我執行後的答案是count1=0,count2=0,count3=1,好怪喔><,
以下是我的程式碼:
((ps:我是在suse Linux10.1下編譯的))

#include
#include
main(void)
{
int count1=0,count2=0,count3=0;
char ch;

FILE *stream;
stream=fopen(\"123\",\"r\");
while(ch=fgetc(stream)!=EOF){
if(isascii(ch)!=0){
if(isalpha(ch)!=0)
count1++;
else
count3++;
}
else{
count2++;}
printf(\"%d %d %d\\r\\n\",count1,count2,count3);
fclose(stream);
}

return 0;
}

2006-08-09 18:16:20 · 1 個解答 · 發問者 忠聞 1 in 電腦與網際網路 程式設計

1 個解答

C 是老美發明的,它不懂中文!
所以,
isascii(c) 是判斷 c 是否 < 128
isalpha(c) 是判斷 c 是否 < A~Z 或 a~z
與(標點)符號、中文都無關!

判斷中文,要自己另外寫程式。
知識+ 裡有一些這類程式,ASD 寫的不錯!你自己參考看看。

寫不出來,再 post ,相信很多人會幫你。

2006-08-10 02:15:17 補充:
像 ASD 的這篇就不錯http://tw.knowledge.yahoo.com/question/?qid=1106071207928他還有其它篇有關算中文字數的,你自己找找看。你若要判斷全部的標點,要會一點內碼規則,比較方便。一樣,自己寫,才會進步。加油!^_^

2006-08-09 22:10:59 · answer #1 · answered by ? 7 · 0 0

fedest.com, questions and answers