高手坐镇(2)

编程学堂

编程开发领域很广,开发途中遇到的问题千奇百怪,碰到问题找不到解决方法怎么办?需要高人指点!为此,我们特意开设此栏目,邀请四方开发高手来帮助大家。如果你在开发途中遇到问题,如果你有能力解决这些问题,欢迎与我们联系,来信请发到pcw-chendx@vip.sina.com

C语言:求0~n之间的素数

题目难度:★★

读者来信:随意输入一个整数n,求0~n之间的素数。我在编写这道复习题的代码时要出错,达不到题目的要求,特来向《电脑报》的高手请教!

资深教师 李严同:只有1和它本身这两个因数的自然数叫做素数,明白了这点就好编程了,示例代码所示:

int main()

{int m,n,i=2;

printf(“n=? ”);

scanf(“%d”,&n);

for(m=2;m<=n;m++)

{//进行素数判断

int tos=1;

for(i=2;i

if(m%i==0)

{sign=0;break;}

if(sign)

printf(“%d ”,m);

}

}

C语言:有多少种方案

题目难度:★★★

读者来信:书柜中共有五本书,小王、小张、小李一起去拿书,每人只能从书柜拿一本,求共有多少种方案。我自己编写的代码得到的答案是错误的,希望高手给出正确代码,先谢啦!

资深教师 李严同:其实这个是一道数学题,从数学原理着手编写代码吧。示例代码所示:

#include

int main()

{

int a,b,c,d=0;

for(a=0;a<5;a++)

for(b=0;b<5;b++)

for(c=0;c<5;c++) /*进入循环只需满足c<5*/

if(a!=c&&b!=c&&a!=c) d++;//设定计算条件

printf(“%d\n”,d);

system(“pause”);

return 0;

}

C语言:开发打地鼠游戏

题目难度:★★★★

读者来信:我想模仿开发一个打地鼠的游戏程序,但没有具体的思路,希望高人指点一下。

软件开发者 阿木:打地鼠游戏是经典程序,网上有各种语言编写的代码,不过几乎没有文字注解,所以你才没有思路。程序的关键有两个:第一个是游戏时间计算和得分计算;第二个是地鼠随即出现和出现的频率。搞定这两点,开发打地鼠游戏就水到渠成了。关键代码所示(完整代码下载地址:http://www.icpcw.com/bzsoft):

public partial class Form1 : Form

{

int leftTime=30;//实现定时记录

int step;//实现等级记录

int n = 0;//实现记录分数

int score=450;//记录分数

private void timer2_Tick(object sender, EventArgs e)

{

if (leftTime > 9)

{

label4.Text = leftTime.ToString();

}

else

{

label4.Text = “0 ” + leftTime.ToString();

}

if (leftTime == 0)

{

//倒计时到“00”,计时器停止

this.timer1.Stop();

this.timer2.Stop();

if (n > score)

{

label5.Text = “恭喜你!闯关成功!”;

}

else

{

label5.Text = “对不起,闯关失败!重来?”;

VB程序无法在其他电脑中运行

题目难度:★

读者来信:我编了一个VB程序,该程序在自己电脑中能运行,但是在其他电脑中就不能运行了,这是怎么回事(程序已经生成了可执行文件)?这个问题也许很菜,但小弟学校今年才教VB,请大侠多多包涵!

软件开发者 故乡的云:也许其他电脑中缺少运行VB程序的相关文件,例如缺少msadodc.ocx动态库,可以下载该文件放在C:\Windows\systems32目录中,或者数据库的地址写成绝对路径了。教你一个简单的方法,将运行程序所需的文件全部打包在一起,这样就可以适合任何电脑了。