与我同行(初学者进来一起奋斗,高手请偶尔进来指点一下)

iamxgp 2001-07-25 07:34:19
我是C初学者,
对于昨天的作业,我很满意,今天我仍然在学函数这一章。明天开始学数组。

今天的问题 主要是2 和
1,确定一个数是否是素数。
2,把这个函数放到程序中,计算并打印出1 —— 1000 的所有素数,在10000个数中,实际要测试多少个数就能确信找到了所有所有的素数。
3,写一个 游戏程序,把完成一个赌博的休息,猜点数。我现在正在写程序。
shijiehan@263.net



...全文
199 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
对,应该
if(bankBalance <= 0)
printf("sorry . You busted!\n" );


goadengoat 2001-07-26
  • 打赏
  • 举报
回复
ok?
iamxgp 2001-07-26
  • 打赏
  • 举报
回复
呵,我改了前面没改后面。
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
to iamxgp
你是学数学得吧^_^
iamxgp 2001-07-26
  • 打赏
  • 举报
回复
不会是10000*(1 - 1/2 - 1/3 - 1/5 - 1/7 -1/11 。。。)?????
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
while(wager != -1 && bankBalance > 0)
//while(wager != -1 ¦¦ bankBalance > 0)
{
flag = gamewag();

printf("please input your wager!\n");
scanf("%d",&x);
wager = x;
}


if(bankBalance == 0)
printf("sorry . You busted!\n" );


iamxgp 2001-07-26
  • 打赏
  • 举报
回复
to goadengoat,不象,看去掉2的倍数,3的倍数,5的倍数,7的倍数,11的倍数
。。。怎么解释呢?我们用数学方法想想。
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
3.
程序进入while循环后,wager不变,始终未第一次输入的值,反复循环,有时要很长时间,
不是退不出,可以改为每次输入新的数字:

while(wager != -1 && bankBalance > 0)
//while(wager != -1 || bankBalance > 0)
{
flag = gamewag();

if(bankBalance>0)
{
printf("please input your wager!\n");
scanf("%d",&x);
wager = x;
}


if(bankBalance == 0)
printf("sorry . You busted!\n" );


}
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
>>对于在10000个数中,实际要测试多少个数就能确信找到了所有所有的素数,这个问题,谁能告>>诉我答案?

据我所知都要测,只是对于判断每一个数是否素数,可以用x/2
for( i = 2 ; i < (x/2); i ++)
{
if((x % i) == 0)
return 0;
}



iamxgp 2001-07-26
  • 打赏
  • 举报
回复
对于在10000个数中,实际要测试多少个数就能确信找到了所有所有的素数,这个问题,谁能告诉我答案?

我在家里,用VC,调试通过了,也是运行退不出来。程序是这个意思, 游戏者player产生一次随机数,庄家master产生一次随机数,比较两者谁大。大的胜利。
bankBalance 是 游戏者的初始化金钱的数量,为1000元。
wager 是一次下的赌注是多少。
当游戏者压-1或者没钱(bankBalance == 0)时游戏结束。



s_sword 2001-07-26
  • 打赏
  • 举报
回复
good
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
1.for( i = 2 ; i < x ; i ++)
{
if((x % i) == 0)
return 0;
}

printf("sushu");
iamxgp 2001-07-26
  • 打赏
  • 举报
回复
to BLDai: 你好:
我在家里,用VC,调试通过了,也是运行退不出来。程序是这个意思, 游戏者player产生一次随机数,庄家master产生一次随机数,比较两者谁大。大的胜利。
bankBalance 是 游戏者的初始化金钱的数量,为1000元。
wager 是一次下的赌注是多少。
当游戏者压-1或者没钱(bankBalance == 0)时游戏结束。
hustlee 2001-07-26
  • 打赏
  • 举报
回复
good
BLDai 2001-07-26
  • 打赏
  • 举报
回复
你用什么来调试的呢?在bc3.1里调试通过,可是运行时退不出来。
赌博游戏我没有玩过,程序看不懂,请指点。
iamxgp 2001-07-26
  • 打赏
  • 举报
回复
我需要你的指导。
iamxgp 2001-07-26
  • 打赏
  • 举报
回复
1,前天做的,
void sushu(int x)
{
int i;
if(x<1)
{
printf("the number is illogicality");
return ;
}

if(x = 2)
{
printf("this number is sushu");
return;
}

for( i = 2 ; i < x ; i ++)
{
if(x / i == 0)
printf("sushu");
}
}

对于在10000个数中,实际要测试多少个数就能确信找到了所有所有的素数,这个问题,谁能告诉我答案?

3 ,一个赌博游戏投塞子(打麻将常用产生随机数的东西)
#include <stdio.h>
#include <stdlib.h>

int wager;
int bankBalance = 1000;

int gamewag()
{
int player;
int master , flag;
while(wager > bankBalance)
{
printf(" you have no enough bankBalance , plese input your wager again!\n");
scanf("%d" , &wager);
}
master = rand() % 6 + 1;
player = rand() % 6 + 1;

if(master > player)
{
bankBalance -= wager;
flag = 0 ;
}
else
{
bankBalance += wager;
flag = 1;
}

return flag;
}


void main()
{
int flag;
int x;

printf("please input your wager!\n");
scanf("%d",&x);
wager = x;
while(wager != -1 || bankBalance > 0)
{
flag = gamewag();
if(bankBalance == 0)
printf("sorry . You busted!\n" );
}
}

编译没有错误,但是就是调试通不过。









goadengoat 2001-07-26
  • 打赏
  • 举报
回复
我用的是C++ Builder
iamxgp 2001-07-26
  • 打赏
  • 举报
回复
不是,买的。
goadengoat 2001-07-26
  • 打赏
  • 举报
回复
没看过,有电子版吗?
加载更多回复(7)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧