| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:谁解释一下!!!
只看楼主 加入收藏
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
 问题点数:0 回复次数:9 
谁解释一下!!!
运行这个后 为什么每次rand()所选的随机数是一样的都是41
!!!????


#include <stdio.h>
#include <stdlib.h>
void main()
{
int m,n;
m= rand();
printf("Please guess a number:");
scanf("%d",&n);
if (n> m)
{
printf("Too high");
}
else if (n <m)
{
printf("Too low");
}
else
{
printf("Right \n");
printf("The number m is :%d\n",m);
}
}
搜索更多相关主题的帖子: 解释 
2005-11-20 18:11
本人已死
Rank: 1
等 级:新手上路
威 望:1
帖 子:183
专家分:0
注 册:2005-9-20
收藏
得分:0 
种子没改变所以每次都是一样的伪随机数

爸爸告诉我:女人喜欢有钱的男人;妈妈告诉我:女人喜欢有貌的男人。我翻翻钱包,又照照镜子,然后我哭了
2005-11-20 18:14
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 

谢谢!知道了!
因为提供的随机种子数相同 所以不变
可以使用计算机读取其时时钟并把该值自动设置成随机种子数 用这个语句
srand (time (NULL) );
搞定!!


[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2005-11-20 18:25
本人已死
Rank: 1
等 级:新手上路
威 望:1
帖 子:183
专家分:0
注 册:2005-9-20
收藏
得分:0 

我是以时间为种子,

你可能是要编那种猜数字的游戏吧?你程序都写错了
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
void main()
{
time_t t;
int m,n;
srand((unsigned) time(&t));
m= rand();
printf("Please guess a number:");
scanf("%d",&n);

while(n!=m)
{
if (n> m)
{
printf("Too high");
printf("Please guess a number:");
scanf("%d",&n);

}
else if (n <m)
{
printf("Too low");
printf("Please guess a number:");
scanf("%d",&n);
}
}

if(m=n)
{printf("Right \n");
printf("The number m is :%d\n",m);
}
}


爸爸告诉我:女人喜欢有钱的男人;妈妈告诉我:女人喜欢有貌的男人。我翻翻钱包,又照照镜子,然后我哭了
2005-11-20 18:35
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 
这样写可以吗?


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int m,n;
srand(time(NULL));
m= rand();
printf("Please guess a number:");
scanf("%d",&n);
if (n> m)
{
printf("Too high\n");
}
else if (n <m)
{
printf("Too low\n");
}
else
{
printf("Right \n");
printf("The number m is :%d\n",m);
}
}

[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2005-11-20 18:57
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 
我想我的程序应该把srand(time(NULL));
改成 srand( (unsigned)time( NULL ) );
更合适 对吧!

[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2005-11-20 19:01
liangfeng110
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-11-20
收藏
得分:0 
序都写错了
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
void main()
{
time_t t;
int m,n;
srand((unsigned) time(&t));
m= rand();
printf("Please guess a number:");
scanf("%d",&n);

while(n!=m)
{
if (n> m)
{
printf("Too high");
printf("Please guess a number:");
scanf("%d",&n);

}
else if (n <m)
{
printf("Too low");
printf("Please guess a number:");
scanf("%d",&n);
}
}

if(m=n)
{printf("Right \n");
printf("The number m is :%d\n",m);
}
}这还是真的啊

2005-11-20 22:40
liangfeng110
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-11-20
收藏
得分:0 
序都写错了
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
void main()
{
time_t t;
int m,n;
srand((unsigned) time(&t));
m= rand();
printf("Please guess a number:");
scanf("%d",&n);

while(n!=m)
{
if (n> m)
{
printf("Too high");
printf("Please guess a number:");
scanf("%d",&n);

}
else if (n <m)
{
printf("Too low");
printf("Please guess a number:");
scanf("%d",&n);
}
}

if(m=n)
{printf("Right \n");
printf("The number m is :%d\n",m);
}
}还是真的啊

2005-11-20 22:41
liangfeng110
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-11-20
收藏
得分:0 
为什么要三个这样的#include <stdio.h>
高手们可以说说吗
2005-11-20 22:43
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 
楼上具体什么意思?
是问头文件的作用吗?

[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2005-11-20 22:50
快速回复:谁解释一下!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020990 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved