vfp程序改错

vfp程序改错,第1张

试试下面的吧!

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8103589.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存