1. 程式人生 > >HDU-漢字統計

HDU-漢字統計

HDU-漢字統計

題目:
統計給定文字檔案中漢字的個數。
Input
輸入檔案首先包含一個整數n,表示測試例項的個數,然後是n段文字。
Output
對於每一段文字,輸出其中的漢字的個數,每個測試例項的輸出佔一行。

[Hint:]從漢字機內碼的特點考慮~

Sample Input
2
WaHaHa! WaHaHa! 今年過節不說話要說只說普通話WaHaHa! WaHaHa!
馬上就要期末考試了Are you ready?
Sample Output
14
9

#include<iostream>
#include<cstdio>
#include<string>
using namespace std;

int main()
{
    int n,length,count;
    string str;
    scanf("%d",&n);
    getchar();
    while(n--)
    {
        getline(cin,str);
        length = str.size();
        count = 0;
        for(int i = 0;i < length;i++)
        {
            if(str[i] < 0)
            {
                count++;
            }
        }
        cout << count / 2 << endl;
    }
    return 0;
}

注意事項:
本題要計算字串中漢字的個數,可以得知1個漢字是由2個位元組組成,而一個字元只由一個位元組組成。並且漢字的ASCII碼是負的,所以可以遍歷整個字串,如果其值小於0,則累加計數,最後輸出計數之和的一半就是漢字的個數。