中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-18 06:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何用VBS代码输出所有为三位数的素数 查看 639 回复 2
楼 主 [已结]如何用VBS代码输出所有为三位数的素数 发表于 2009-02-12 11:53 ·  中国 江西 宜春 奉新县 电信
初级用户
积分 30
发帖 27
注册 2008-09-12 11:15
UID 125467
性别 男
状态 离线
最近在学习的过程当中遇到一点小小的麻烦,让我头痛了一段时间,希望高手赐教,不胜感激。
是这样的,我想把一些简单的C程序试题用VBS的代码改写。

C程序题目是:“输出所有三位的素数”

对应的C程序是:

#include "stdio.h"
main()
{int x,i,n=0;
clrscr();
for(x=100;x<=999;x++)
{for(i=2;i<x;i++)
if(x%i==0) break;
if(i>=x)
{printf("%d ",x);
n++;
if(n%10==0) printf("\n");
}
}
}


改写的VBS代码是:

Dim x,i,s
s = ""

For x = 100 To 999

For i = 2 To x
If(x mod i = 0) Then Exit For
If(i >= x) Then
s = s & x & " "
End If
Next

Next

Msgbox(s)


这个VBS代码输出的结果是s变量值空的,我检查了很长的时间也没发现语法上有什么问题。
希望能够得到指点,谢谢各位的帮组

[ Last edited by HAT on 2009-2-12 at 21:41 ]
2 发表于 2009-02-12 12:26 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
Dim x,i,s,max
For x = 100 To 999
max = Sqr(x)
For i = 2 To max
If(x Mod i = 0) Then Exit For
Next
If
i >= max Then s = s & x & " "
Next

MsgBox
(s)
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2009-02-12 13:15 ·  中国 江西 宜春 奉新县 电信
初级用户
积分 30
发帖 27
注册 2008-09-12 11:15
UID 125467
性别 男
状态 离线
不错不错,可以.回去后好好研究下.
谢谢这位高手了
论坛跳转: