中易网

c语言rand函数的使用

答案:5  悬赏:20  
解决时间 2021-03-02 13:16
c语言rand函数的使用
最佳答案
你把产生随机数的
srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
computer = rand()%3+1;//随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)
这2行丢进去
或者把下面那一行丢进while 确保每次种子不一样或者随机不一样
追问:抱歉,不是很懂。
能不能直接修改下我的代码,给我做个比较呢?谢谢。
追答:computer = rand()%3+1;//随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)

把这句话移到while语句下面
追问:还是不懂,如果移到while下面的话,computer不就没有赋值了吗?
追答:在哪用在那赋值 rand();函数每次产生的数字都不一样 你只有一遍一遍的调用才能刷新数字
追问:那要怎么用呢?没财富了,只能再追问一次了,能帮我改下代码吗?万分感谢。
追答:#include//为了使用srand、rand函数必须使用该头文件
#include//要使用time()必须使用该头文件
#include
int main()
{
char in;
do{
int user;//定义玩家和电脑出拳
int uwin,ulos,allwin;//定义玩家的胜利参数,失败参数,平局参数
int cwin,clos,loop;//定义电脑的胜利参数和失败参数,不需要定义平局参数,可以直接取用allwin
int computer=0;
uwin=0;
ulos=0;
allwin=0;
cwin=0;
clos=0;
//出错,产生的随机数永远一样。

do{
srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
computer = rand()%3+1;//随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)printf("\n【第一局】\n 请出拳:");
scanf("%d",&user);
switch(user)
{
case 1:
if(computer==1)
{
printf("这一局,您出的是【石头】,电脑出的是【石头】,好巧哦,是平局耶!\n");
allwin+=1;
}
追问:不可以啊,还是和原来一样的效果。
追答:那吧strank函数也移过去
全部回答
你把srand函数移出do while循环外面试试!
#include<stdlib.h>//为了使用srand、rand函数必须使用该头文件
#include<time.h>//要使用time()必须使用该头文件 
#include<stdio.h>
int main()
{
    char in;
    do
    {
        int user;//定义玩家和电脑出拳 
        int uwin,ulos,allwin;//定义玩家的胜利参数,失败参数,平局参数 
        int cwin,clos,loop;
        //定义电脑的胜利参数和失败参数,不需要定义平局参数,可以直接取用allwin 
        int computer=0;
        //出错,产生的随机数永远一样。 
        srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
        computer = rand()%3+1;
        //随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)
        printf(" 【第一局】  请出拳:");
        scanf("%d",&user);
        switch(user)
        {
            case 1:
                if(computer==1)
                {
                    printf("这一局,您
                    出的是【石头】,电脑出的是【石头】,
                    好巧哦,是平局耶! ");
                    allwin+=1;
                    break;
                }
        }
    }while(1);
}
不是每次都一样啊!程序的话,缩进一下应该更好看一些。缩进之后程序顺序一目了然

下面的代码每次运行结果一样吗?#include<stdlib.h>//为了使用srand、rand函数必须使用该头文件
#include<time.h>//要使用time()必须使用该头文件 
#include<stdio.h>
int main()
{
        int user;
        srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
        for(user=0;user<100; user++){
printf("%d, ",rand()%3+1);
}
return 0;
}
追问:亲,直接帮我修改下代码吧,我做个比较就知道错在哪里了,拜谢。
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么世界上要有数学这种东西
iPhone4s刷机后忘记了ID怎么办?
珍爱网是一个很好的结识缘分的平台吗?
经典水族这个地址在什么地方,我要处理点事
圣地安列斯中地盘只能抢不能占啊
男士背带,我是一位体重226斤的胖子,裤子经
去私企挣高工资要什么学历
峯字怎么念?
淡水印象汇最近的魅族专卖店
明视达眼镜全国连锁NO.088地址在哪,我要去那
汇保车汇开发区分公司怎么去啊,有知道地址的
渲图时用什么显示器好呢,我现在用液晶显示器
国产2000左右智能机64内存 那个款好?
高压锅盖有球响咋回事
c语言求大神解释下,小弟实在搞不懂,快速排
推荐资讯
寻美服饰我想知道这个在什么地方
QQ上开启了设备锁,别人可以登陆我的QQ号吗?
形容严师的词语
颐和家园在哪里啊,我有事要去这个地方
亚急性甲状腺炎的中药药方【亚急性甲状腺炎】
求128*32像素的图片GIF,BMP,都可以
林下地址有知道的么?有点事想过去
心手相应的成语意思及歇后语
怎样才能把胡子刮干净,本人用电动剃须刀,不
水电池的两轮电车能换锂电池
查干村这个地址在什么地方,我要处理点事
吕子奇姓氏做首诗歌
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?