HDU-2030——漢字統計
阿新 • • 發佈:2018-12-17
漢字統計
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 62459 Accepted Submission(s): 33621
Problem Description
統計給定文字檔案中漢字的個數。
Input
輸入檔案首先包含一個整數n,表示測試例項的個數,然後是n段文字。
Output
對於每一段文字,輸出其中的漢字的個數,每個測試例項的輸出佔一行。
[Hint:]從漢字機內碼的特點考慮~
Sample Input
2
WaHaHa! WaHaHa! 今年過節不說話要說只說普通話WaHaHa! WaHaHa!
馬上就要期末考試了Are you ready?
Sample Output
14
9
問題連結:HDU-2030
問題簡述:統計一個文段中中文的字數,多組輸入輸出。
問題分析:1、一個漢字佔兩個位元組,所以可以統計出漢字所佔位元組後除以二並輸出該值。2、漢字也是用ascii碼錶示的,漢字的ASCII碼第一個位元組的值都小於0,第二個位元組的ASCII碼一般在拓展ASCII碼中,128-255間的ASCII碼稱作擴充套件的ASCII碼,而英文字母的ASCII碼均位於0~127範圍中,可認為在此ASCII碼區間外的字元均為漢字。
程式說明:%*c用來接收多餘的字元‘\n’,暴力掃描。
AC通過程式碼:
#include <stdio.h> #include <string.h> int main() { int n,ch=0; int i,j; char s[1000]; scanf("%d%*c",&n); for(i=0;i<n;i++) { ch=0; gets(s); for(j=0;j<strlen(s);j++) { if(s[j]<0||s[j]>127) { ch++; } } printf("%d\n",ch/2); } return 0; }