主题:C语言时间与随机数问题
soonerc
[专家分:0] 发布于 2010-07-21 20:07:00
我有两个问题希望高手能解答~谢谢!
1.C语言的随机数程序要怎么写?(最好是适用于win-TC的,希望有能写的完整一点的)如果要在0-100内产生随机数要怎么写?要不要调用比如#include "conio.h"之类的文件(我也不知道这个是不是叫文件,就是在主函数之前都要写的那个)
2.我想写一个在规定时间内要输入一个数字(如果在规定时间内输入数字进入下一步,否则进入另外一步)的程序,不知道是否能够实现。请高手指教。。。(最好是适用于win-TC的,希望有能写的完整一点的)
在此先谢谢给为大哥大姐!!!
不知道这两个程序是否能在VC或者win-TC下实现。。。求高手指教!
回复列表 (共4个回复)
沙发
灰常大的屁股 [专家分:0] 发布于 2010-07-25 06:41:00
课本上就能找到的东西,还是自己找找吧。
板凳
C易特联盟 [专家分:60] 发布于 2010-10-03 21:08:00
C易特元亨QQ919169870
最新互助式项目。
这是一个互助的模式。
不推广人也有钱赚的。分A B两个网。
不推广的人在A网。推广的人 在B网。
B网推广的人帮助A网。
A网赚取6000元出局。
B网就多了。
详情了解加QQ919169870
http://blog.sina.com.cn/s/blog_6b19ec920100liv6.html
C易特奖励制度
http://blog.sina.com.cn/cyite6
C易特更多资料博客
3 楼
guiling [专家分:0] 发布于 2010-10-17 13:50:00
第一个用conio.h中的rand函数实现 ix=rand()%(t-d+1)+d 产生[d,t)范围内的随机数.
第二个问题可以自己定义一个时间延迟函数
void delay(int n)
{
time_t start,end;
volatile long unsigned t=0;
start = time(NULL);
end = time(NULL);
while(difftime(end,start) < n )
{
end = time(NULL);
}
}
4 楼
wc2hjy [专家分:0] 发布于 2011-09-26 15:15:00
1.先用srand()来形成随机种子,再用rand()来形成随机数.每次srand的参数最好不同,所以时间是一个常用的参数.
比如:
int r;
srand(time(NULL));
r=rand();
获得1-100之间的数:r=rand()%100+1;
头文件:#include <stdlib.h>
2.我以前在linux下写过类似的,用select实现的,加点注释发上来.后4个头文件都是linux下的,删掉之后看看没有定义的东西找一下在windows的哪个头文件里应该就可以.
我改一下,由于我这里没windows编程环境,所以不一定对.你碰见什么问题发上来看看.
#include <stdio.h>
#include <winsock2.h>
int main()
{
fd_set set;
char buff[100] = {0};
int ret;
struct timeval tv;
tv.tv_sec = 10;
tv.tv_usec = 0;//这3句设置了10秒的超时时间.要修改的话tv.tv_sec = 10表示的是超时时间里的秒,tv.tv_usec = 0表示的是超时时间里的微秒.
FD_ZERO(&set);
FD_SET(0,&set);
ret = select(2,&set,NULL,NULL,&tv);
if(ret == 0)//select返回值等于0说明这段时间内有0个描述符可读,也就是超时了
{
printf("out of time\n");
}
else
{
read(0,buff,100);
printf(buff);
}
}
[url]http://www.beidaqingniao.org[/url]
我来回复