小熊の子の杭電2030は漢字の個数を判断します
4486 ワード
指定したテキストファイル内の漢字の個数を統計します。
Input入力ファイルには、まず、テストインスタンスの個数を表す整数nが含まれ、次にnセグメントテキストが含まれます.
Outputはテキストごとに漢字の数を出力し,テストインスタンスごとの出力が1行を占める.
[Hint:]漢字機内コードの特徴から~
Sample Input 2 WaHaHa! WaHaHa! 今年の祝日は話をしないで共通語だけを話しますWaHaHa!WaHaHa! もうすぐ期末試験だ
Sample Output 14
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int n;
while (cin >> n)
{
getchar();
int nn = n;
while (n--)
{
char a[1000];
gets_s(a);
int sum = 0;
for (int i = 0; i < strlen(a); i++)
{
if (a[i] < 0)
sum++;
}
cout << sum/2 << endl;
}
}
return 0;
}
コンピュータの中で漢字は2つのバイトで表します(注意は2つのバイトです!!)、各バイトの最上位は1です.コンピュータでは,符号化第1ビットは符号ビットであり,1は負数を表すので,漢字機内符号のバイト毎に示す十進数は負数である.この点が分かったら、プログラムを書くのはとても簡単です.漢字は複数で、2バイトで2で割るといいでしょう