hdu 2030

PS:原本这道题就空了好久...今天才去查了下汉字机内码... 然后才知道了.

1—— 一个汉字在字符串中是以两个负的字符形式存储,所以本题只要把字符串中负字符的个数找出来,再

除以2 就OK了。

2——汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。 计算机中, 补码第一位是符号位, 1 表示为 负数, 所以 汉字机内码的每个字节表示的十进制数都是负数

代码:

#include "stdio.h"
#include "string.h"
int main(){
 int num,n,s,j,i;
 char a[200];
 while(~scanf("%d",&n)){
  getchar();
  for(i=0;i<n;i++){
   gets(a);
   s=strlen(a);
   num=0;
   for(j=0;j<s;j++){
    if(a[j]<0){
     num++;
     j++;
    }
   }
   printf("%d\n",num);  
  }
 }
 return 0; 
}

上一篇:fsck 修复ext3文件系统(用于linux系统时间不对,文件系统信息有错引起的die with exit status等的一些问题)


下一篇:无法解析的外部符号 _WinMain@16 fatal error LNK1120: 1 个无法解析的外部命令