
DO CheckPrime WITH 50,10
PROCEDURE CheckPrime
PARA nCount,nColCount
CLEAR
i=1
n=2
DO WHILE i<=nCount
isPrime=.t.
FOR j=2 TO INT(SQRT(n))
*IF j%n=0 &&错
IF n%j=0
isPrime=.f.
EXIT
ENDIF
ENDFOR
IF isPrime
??n
IF i%nColCount=0
?
ENDIF
*i=i+1 &&位置错
ENDIF
i=i+1 &&移至此
n=n+1
ENDDO
ENDFUNC
(四)
PrintPrime(400,5) &&小于自然数400的素数并按每行5个素数打印
PROCEDURE PrintPrime
PARA nMax,ncol
i=0 &&记录素数个数
FOR n=2 TO nMax
flag=.t.
FOR j=2 TO INT(SQRT(n))
IF n%j=0
flag=.f.
LOOP
ENDI
ENDFOR
IF flag
??n
i=i+1
*IF MOD(i,ncol)<>0 &&错
IF MOD(i,ncol)=0
?
ENDIF
ENDIF
ENDFOR
ENDPROC
--------------------
前一题是只改了两处;后一题改一处就可通过了!
你试试!
应用程序错误解决方法:1.检查电脑是否存在病毒,请使用百度卫士进行木马查杀。
2.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。
3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。
4.如果检查上面的都没问题,可以试试下面的方法。
打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。
完成后,在输入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止(重启电脑)。
原代码排版后如下:nnumber=437
cresult=space(0)
if nnumber#0
do while nnumber>0
n=mod(nnumber,16)
nnumber=int(nnumber/16)
if n<10
cresult=str(n,1)+cresult
else
cresult=chr(asc('A')+n)+cresult
endif
enddo
else
cresult=0
endif
wait wind "十六进制数表示为"+cresult
只要将这句
cresult=chr(asc('A')+n)+cresult
改成
cresult=chr(asc('A')+n-10)+cresult
里面要减去10, 因为只有n=10,才是A
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)