| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1753 人关注过本帖
标题:怎么在c中使用随机数??
只看楼主 加入收藏
Iam火枫
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-11-6
收藏
 问题点数:0 回复次数:21 
怎么在c中使用随机数??
怎么在c中使用随机数??
比如,我要编一道数学题,在1~10中拿两个数M,N。SUM=M+N,输出SUM。
搜索更多相关主题的帖子: 随机数 SUM 数学题 输出 
2006-11-06 15:44
baxia
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-3-10
收藏
得分:0 
int shu(int num,int d)//随即1-num的数,d是种子
{
time_t t;
srand((unsigned)(time(&t)+d));
return ( rand()%num);
}

2006-11-06 16:12
Iam火枫
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-11-6
收藏
得分:0 

谢谢高手!


2006-11-06 16:22
baxia
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-3-10
收藏
得分:0 

头文件 #include <time.h>

2006-11-06 16:24
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
#include "stdio.h"
#include<stdlib.h>
main()

{ int i,a;
for(i=1;i<11;i++)
{
a=rand()%10+rand()%10;
printf("%d+%d=%d\n",rand()%10,rand()%10,a);
}
return 0;
}

谁有强殖装甲第二部,可以Q我460054868
2006-11-06 16:41
baxia
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-3-10
收藏
得分:0 

楼上的你随即出来的是什么东西?不对的 ,rand()每次随即的数值都是不一样的 自然a的值也不是前面的两个rand()的和
稍加改动..
#include "stdio.h"
#include<stdlib.h>
void main()
{ int i,a,b;
for(i=1;i<11;i++)
{
a=rand()%10;
b=rand()%10;
printf("%d+%d=%d\n",a,b,a+b);
}
}

2006-11-06 16:54
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
多谢提醒.

谁有强殖装甲第二部,可以Q我460054868
2006-11-06 17:29
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 
#include "stdio.h"
#include<stdlib.h>
void main()
{ int i,a,b;
for(i=1;i<11;i++)
{
a=rand()%10;
b=rand()%10;
printf("%d+%d=%d\n",a,b,a+b);
}
}

i控制的是循环次数吗? 还是别的? 如果是循环次数 为什么 a b 的值每次会不一样?
2006-11-06 17:56
baxia
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-3-10
收藏
得分:0 

i控制的是循环次数,
rand()每次随即的数值都是不一样的;所以每次循环a,b都是不一样的.
若想一样得用种子
int shu(int num,unsigned d)//随即1-num的数,d是种子
{
srand(d);
return ( rand()%num);
}
在主函数调用这个函数试试?每次都一样..
#include <stdio.h>
#include <stdlib.h>
int shu(int,unsigned);
void main()
{
for(int i =0;i<10;i++)
{
printf("%d\n",shu(10,12));//12是种子 10表示随即10以内的数
}

}
int shu(int num,unsigned d)//随即1-num的数,d是种子
{
srand(d);
return ( rand()%num);
}

2006-11-06 18:08
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 
那 为什么  把for 循环去掉后 无论你执行多少次  a b 的值 都一样  
2006-11-06 18:33
快速回复:怎么在c中使用随机数??
数据加载中...
 
   



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

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