題目鏈接
題目描述
統計給定文本檔案中漢字的個數,
Input
輸入檔案首先包含一個整數n,表示測驗實體的個數,然后是n段文本,
Output
對于每一段文本,輸出其中的漢字的個數,每個測驗實體的輸出占一行,
[Hint:]從漢字機內碼的特點考慮~
Sample Input
2
WaHaHa! WaHaHa! 今年過節不說話要說只說普通話WaHaHa! WaHaHa!
馬上就要期末考試了Are you ready?
Sample Output
14
9
思路
一個漢字的機內碼占2個位元組,每個位元組最高位一位為1,而計算機中, 補碼第一位是符號位, 1 表示為負數,所以漢字機內碼的每個位元組表示的十進制數都是負數,統計輸入字串含有幾個漢字,只需求出字串中小于0的字符有幾個,將它除以2就能得到答案,
C++代碼:
#include<bits/stdc++.h>
using namespace std;
char a[100005];
int main()
{
int n;
while(cin >> n)
{
int temp = n - 1;
while(n--)
{
char c;
int count = 0, i = 0;
if(n == temp)
getchar();
while(c = getchar())
{
if(c == '\n') break;
if(c < 0) count++;
a[i++] = c;
}
cout << count / 2 <<endl;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/253087.html
標籤:其他
上一篇:相機標定(1)——四個坐標系
下一篇:C語言編程>第二十一周 ① 下列給定程式中,函式fun的功能是:比較兩個字串,將長的字串的首地址作為函式值回傳。
