題目:
2030題
代碼:
#include<stdio.h>
int main()
{
int n,i,k,cnt;
char a[1000];
while(~scanf("%d",&n))
{
getchar();
for(i=0;i<n;i++)
{
cnt=0;
gets(a);
for(k=0;a[k]!='\0';k++)
{
if(a[k]<0)
cnt++;
}
printf("%d\n",cnt/2);
}
}
return 0;
}
注意:
對于漢字機內碼的問題:
1.一個漢字在字符串中是以兩個負的字符形式存儲,所以本題只要把字符串中負字符的個數找出來,再除以2 就OK了。
2.漢字機內碼在計算機的表達方式的描述是,使用二個字節,每個字節最高位一位為1。
計算機中, 補碼第一位是符號位, 1 表示為 負數, 所以 漢字機內碼的每個字節表示的十進制數都是負數