漢字統計
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23842 Accepted Submission(s): 13010
[Hint:]從漢字機內碼的特點考慮~
漢字機內碼在計算機的表達方式的描述是,使用二個字節,每個字節最高位一位爲1。 計算機中, 補碼第一位是符號位, 1 表示爲 負數, 所以 漢字機內碼的每個字節表示的十進制數都是負數 統計輸入字符串含有幾個漢字,只只需求出字符串中小於0的字符有幾個,將它除以2就得到答案
#include<string.h>
int main()
{
char s[10000];
int n,i;
while(scanf("%d",&n)!=EOF)
{
getchar();
while(n--)
{
gets(s);
//scanf("%s",s); 在這別用scanf,因爲scanf遇到空格即停止
int count=0;
for(i=0;i<strlen(s);i++)
{
if(s[i]<0) count++;
}
printf("%d\n",count/2);
}
}
return 0;
}
#include"string.h"
int main()
{
char s[1000];
int i,j,n,m;
scanf("%d\n",&n);
while(n--)
{
m=0;
gets(s);
j=strlen(s);
for(i=0;i<j;i++)
{
if((s[i]<32)||(s[i]>126))
m++;
}
printf("%d\n",(m+1)/2);
}
return 0;
}
-------------------------------------------------------------------------------------
漢字機內碼