标签:
一个汉字在字符串中是以两个负的字符形式存储,所以本题也可以把字符串中负字符的个数找出来,再除以2就OK了。
汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。
计算机中, 补码第一位是符号位, 1 表示为 负数, 所以 汉字机内码的每个字节表示的十进制数都是负数
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 6 int main() 7 { 8 int t; 9 cin>>t; 10 string a; 11 cin.get(); 12 while(t--) 13 { 14 getline(cin,a); 15 int count = 0; 16 for(int i = 0;a[i]!=‘\0‘;i++) 17 { 18 if(a[i]<0 || a[i]>127) 19 count++; 20 } 21 cout<<count/2<<endl; 22 } 23 return 0; 24 25 }
标签:
原文地址:http://www.cnblogs.com/qlky/p/4948798.html