-5-
VFP2010春上机试题
五、
程序改错(5分)程序改错(练习1:下列程序的功能是:输入一个由ASCII码字符和GB2312字符集中汉字字符组成的字符串后,统计并显示出现次数最多的10个字符及其出现次数。要求:①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARACCEPT‘请输入:’TOcccc&;&;该语句功能是交互式地输入数据(字符串)n=LEN(cccc)IFn=0RETURNENDIFCREATECURSORTEMP(ccc(2),nni)&;&;创建临时表存储字符及出现的次数FORi=1TOnc=SUBS(cccc,i,1)IFASC(c)>127&;&;汉字字符c=SUBS(cccc,i,2)i=2ENDIFLOCATEFORcc=cIFEOF()INSERTINTOTEMP(cc,nn)VALUE(c,1)OTHERREPLACEnnWITHnn+1ENDIFENDFORSELECTTOP10cc,nnFROMtempORDERBY2DESC练习2:一个自然数的七进制表示一个三位数、九进制表示也是一个三位数,且这两个三位数(七进制和九进制)的数字字符的排列顺序正好相反。下列程序的功能是求该自然数,要求:①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARFORi=100TO999x=convert(i,7)y=convert(i,9)z=SPACE(0)FORj=1TOLEN(y)z=z+SUBS(y,j,1)ENDFORIFx==z
-6-
VFP2010春上机试题
?i,x,yENDIFENDFORFUNCTIONconvert&;&;十进制到二~九进制转换函数PARAMETERSm,nc=SPACE(0)DOWHILELEN(m)>0c=STR(m%n,1)+cm=INT(m/n)ENDDORETURNcENDFUNC练习3:练习4:练习5:练习6:练习7:
-7-