题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2030
汉字统计
算法分析:
C中的汉字用“机内码”,一个汉字两字节,最高位都是1(负数)。统计数组中负数个数,除以2即为汉字个数。
注意:数组设置大一点,否则容易越界出现WA!!!
我的ac代码:
#include <stdio.h> int main() { int n,sum; char a[10000]; while (~scanf("%d", &n)) { getchar(); while (n--){ gets(a); sum=0; for(int i=0;a[i];i++){//c中\0=0 if(a[i]<0){ sum++; } } printf("%d\n",sum/2); } } return 0; }