下列程序的功能是统计一个字符串中包括多少个汉字(假设这些汉字均属于GB2312字符集),其基本算法是从字符串中依次取一个字符,如果其ASCII码值大于127,则为一个汉字内码的第一个字节。请填空。 STR1="中国(ChinA) 是一个伟大的国家(n

admin2012-03-23  27

问题 下列程序的功能是统计一个字符串中包括多少个汉字(假设这些汉字均属于GB2312字符集),其基本算法是从字符串中依次取一个字符,如果其ASCII码值大于127,则为一个汉字内码的第一个字节。请填空。
   STR1="中国(ChinA) 是一个伟大的国家(nation)"
   C=0
   DO WHILE LEN(STR1)>0
     IF  _________ (LEFT(STR1,1))>127
   C=C+1
   STR1=SUBSTR(STR1,  ________ )
     ELSE
   STR1=SUBSTR(STR1,  _______  )
     ENDIF
   ENDDO
   WAIT WINDOWS"汉字个数为"+STR(C)

选项

答案ASC 3 2

解析 为统计一个字符串中的汉字个数,先从该字符串中取出第一个字符,看其ASCII码是否超过127,如果超过127,则是汉字,汉字的数目加1,把字符串的前两个字符去掉形成新的字符串,若不是汉字则把字符串的第一个字符去掉,形成新的字符串,再从新字符串中取出第一个字符,这样反复直到所有的字符都判断完毕为止。所以本题第1空应填求ASCII码的函数名,为“ASC”,本题第2空通过SUBSTR函数取得从原来字符串的第3个字符开始的字符串,故应填“3”,同理本题的第3空处应填“2”。
转载请注明原文地址:https://kaotiyun.com/show/0pzp777K
0

最新回复(0)