c语言怎么产生随机数呀??
如题~~~~~#include<iostream>
#include<ctime>
#include<string>
#include<cstdlib>
using namespace std;
int CRN()
{
return rand()%100;
}
int main()
{
srand((unsigned)time(0));//切记这个函数的调用,只能放在主函数里,否则重复的运行程序将得到同样的随机数
int i;
int num;
for(i = 0 ; i < 10 ; i ++ )
{
num = CRN();
cout << num << " ";
}
cout << endl;
getchar();//x要是vs就加上这个,vc不用加
}
我觉得这样封装下更好:#include <stdio.h>
#include <stdlib.h>
int my_rand( int max ) {
static int first = 1;
first?srand((unsigned)time(0)):1;
first = 0;
return rand()%max;
}
int main(){
int data;
while( scanf("%d", &data) && data!=0 ) {
int temp;
printf("%d\n", my_rand(10));
}
} #include <stdlib.h>
rand() 我光知道c#是Ramdom akon 发表于 2012-9-27 20:17 static/image/common/back.gif
必须是要用c++吗? 仰望天上的光 发表于 2012-9-27 21:05 static/image/common/back.gif
我觉得这样封装下更好:
可以加上些详细注释吗?我是新手一枚,看不太懂呀。。。谢谢了~ Whisper微风 发表于 2012-9-28 11:59 static/image/common/back.gif
必须是要用c++吗?
不是啊~c也一样运行 #include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int a,n,i;
scanf("%d",&n);//输入随机数的个数
srand(time(NULL));
for(i=1;i<=n;i++)
{
a=("%d",rand());
printf("%d\t",a);
}
} 头文件 stdio.h time.h stdlib.h
srand(time(NULL));
a=rand()如果想要上限就取余即可
页:
[1]