Mmax=A(i)
ENDIF
IFMmin>A(i)
Mmin=A(i)
ENDIF
ENDFOR
***********FOUND**********
?
"最大数是:
"+str(Mmax)+"最小数是:
",Mmin
答案:
=======(答案1)=======
?
?
str(a(i),3)
=======(答案2)=======
?
"最大数是:
"+str(Mmax)+"最小数是:
",Mmin
=========或=========
?
"最大数是:
",Mmax,"最小数是:
",Mmin
第2题(10.0分)题号:
19
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
下列的程序的功能是:
删除字符串(不包括汉字)中的空格
*并将它按字符从大到小的顺序排列后输出。
例如:
字符串
*"BCefA",输出结果为“feCBA”。
要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
clear
x='BCefA'
y=''
x=strtran(x,space
(1),space(0))
n=len(x)
dimensiona(n)
fori=1ton
a(i)=left(x,1)
***********FOUND**********
x=substr(x,i)
endfor
=asort(A)
***********FOUND**********
forj=1ton
y=y+a(j)
endfor
?
y
答案:
=======(答案1)=======
x=substr(x,2)
=======(答案2)=======
forj=nto1step-1
第3题(10.0分)题号:
17
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
下列的程序功能是:
统计一个字符串中包含的汉字、英文
*字母及其他字符个数。
*要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
c="数据库"
store0tohz,yw,qt&&变量分别用于汉字、英文字母和其他字符计数
***********FOUND**********
dowhilec>0
x=asc(left(c,1))
ifx>127
hz=hz+1
c=subs(c,3)
else
ifx>64andx<91orx>96andx<123
yw=yw+1
else
qt=qt+1
endif
***********FOUND**********
c=subs(c,3)
endif
enddo
waitwind"汉字:
"+str(hz,4)+"英文字母:
"+str(yw,4)+"其他字符"+str(qt,4)
答案:
=======(答案1)=======
dowhilelen(c)>0
=========或=========
''<>c
=========或=========
""<>c
=========或=========
space(0)<>c
=======(答案2)=======
c=subs(c,2)
第4题(10.0分)题号:
20
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
完数是指数n的各因子(1视为因子,n不视为因子)之和正好
*等于该数本身。
例如:
6为完数(因子为1、2、3,且1+2+3=6)。
*下列程序的功能是:
找出1000以内的所有完数,并将找出的
*完数及该数的所有因子输出。
输出结果形式为:
*6,1,2,3
*28,1,2,4,7,14
*要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
clear
fori=1to1000
m=0
s=''
forj=1toi-1
ifi/j=int(i/j)
m=m+j
***********FOUND**********
s=s+','+j
endif
endfor
ifi=m
?
i
***********FOUND**********
?
s
endif
endfor
答案:
=======(答案1)=======
s=s+','+str(j)
=========或=========
s=s+','+allt(str(j))
=======(答案2)=======
?
?
s
第5题(10.0分)题号:
14
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
下列的程序功能是:
求出不超过6位数的Armstrong数。
所谓
*Armstrong数是指一个n位数的正整数,它的每位数字的n次方
*之和等于该数本身。
例如:
153=1^3+5^3+3^3要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
clear
form=1to100000
n=len(allt(str(m)))
x=0
fory=1ton
c=substr(allt(str(m)),y,1)
***********FOUND***************************************
x=x+val(c)*n
endfor
***********FOUND***************************************
ifn=x
?
'Armstrong数',m
endif
endfor
答案:
=======(答案1)=======
x=x+val(c)^n
=========或=========
x=x+val(c)**n
=======(答案2)=======
ifm=x
=========或=========
ifx=m
第6题(10.0分)题号:
18
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
下列的程序用来产生30个0~100之间的随机整数,并且找出
*其中的最大偶数和最小奇数
*要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
clear
dimensiona(30)
fori=1to30
***********FOUND**********
a(i)=int(rand()*200)
endfor
Mmax=-1
Mmin=100
fori=1to30
?
?
str(a(i),3)
ifMmaxMmax=a(i)
***********FOUND**********
else
ifMmin>a(i)andmod(a(i),2)=1
Mmin=a(i)
endif
endfor
?
"最大偶数:
",iif(Mmax=-1,"无",Mmax)
?
"最小奇数:
",iif(Mmin=100,"无",Mmin)
答案:
=======(答案1)=======
a(i)=int(rand()*100)
=======(答案2)=======
endif
第7题(10.0分)题号:
16
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
下列的程序功能是:
在屏幕上显示如图所示的菱形。
*A
*BBB
*CCCCC
*DDDDDDD
*EEEEEEEEE
*FFFFFFFFFFF
*FFFFFFFFFFF
*EEEEEEEEE
*DDDDDDD
*CCCCC
*BBB
*A
*
*要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
settalkoff
c="ABCDEF"
clear
fori=1tolen(c)
?
space(10-i)
forj=1to2*i-1
***********FOUND**********
?
?
subs(c,i)
endfor
endfor
***********FOUND**********
fori=len(c)to1
?
space(10-i)
forj=1to2*i-1
?
?
subs(c,i,1)
endfor
endfor
答案:
=======(答案1)=======
?
?
subs(c,i,1)
=======(答案2)=======
fori=len(c)to1step-1
第8题(10.0分)题号:
51
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*下列程序的功能是:
第一个循环随机生成30个大写英文字母,并且存放到数组C中,
*第二个循环实现数组C中30个元素内容的排序(从小到大)。
*要求:
*①将下列程序输入到项目中的程序文件pcode中,并对其中的2条错误语句进行修改;
*②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
*-------------------------------------------------------
CLEAR
DIMENSIONc(30)
FORi=1TO30&&第一个循环
n=CHR(64+MAX(1,MOD(INT(RAND()*100),27)))
c(i)=n
ENDFOR
FORi=1TO30&&第二个循环
m=c(i)
FORt=i+1TO30
***********FOUND**********
IFmc(i)=c(t)
c(t)=m
m=c(i)
ENDIF
***********FOUND**********
ENDDO
ENDFOR
DISPLAYMEMOLIKEc*
答案:
=======(答案1)=======
ifm>c(t)
=========或=========
ifc(t)=======(答案2)=======
endfor
=========或=========
endf
=========或=========
next
第9题(10.0分)题号:
13
*----------------------------------------------------------------------------
*[程序改错]
*题目:
下列程序的功能是将小写金额(假设小于10万且无小数位)转换为
*中文大写形式。
例如:
213转换为“贰佰壹拾叁元”,3012转换为“叁仟零佰拾贰元”。
*要求:
*
(1)将下列程序输入到项目中的程序文件prode中,并对其中的2条错误语句进行修改。
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增删语句。
*----------------------------------------------------------------------------
nmoney=10249
cmoney=allt(str(nmoney))
cstring1='零壹贰叁肆伍陆柒捌玖'
cstring2='万仟佰拾元'
***********FOUND**********
cresult=0
forn=1tolen(cmoney)
***********FOUND**********
c=substr(cmoney,n)
cresult=cresult+subs(cstring1,val(c)*2+1,2)+subs(cstring2,n*2-1,2)
endfor
waitwindows'大写金额为:
'+cresult
答案:
=======(答案1)=======
cresult=space(0)
=========或=========
cresult=''
=========或=========
cresult=""
=========或=========
cresult=[]
=======(答案2)=======
c=substr(cmoney,n,1)
第10题(10.0分)题号:
12
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
下列的程序功能是:
第一个循环随机生成10个大写英文字
*母,并且存放到数组C中,第二个循环将数组C中10个元素
*排序(从小到大)。
要求:
*
(1)将下列程序输入到项目的程序文件pcode中,并对其中的
*2条错误语句进行修改;
*
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许
*增加或减少语句数目。
*-------------------------------------------------------
clear
n=10
dimensionc(n)
fori=1ton
c(i)=chr(65+int(rand()*26))
endfor
DISPLAYMEMOLIKEc*
forj=2ton
m=c(j)
fort=1toj-1
ifmfork=jtot+1step-1
***********FOUND**********
c(k)=c(k+1)
endfor
c(t)=m
exit
endif
endfor
***********FOUND**********
enddo
DISPLAYMEMOLIKEc*
答案:
=======(答案1)=======
c(k)=c(k-1)
=======(答案2)=======
endfor
=========或=========
next
=========或=========
endf