在C语言编程中,如何实现让电脑随机输出一1~9的整数? C语言我要产生一个1~100之间的随机整数,怎么做?
作者&投稿:泰狐 (若有异议请与网页底部的电邮联系)
C语言里的int rand(void)怎么使用?怎么让计算机随机输出一个整数用printf输出来?~
rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。rand()%9+1;
rand()%9 产生0~8的随机数;
rand()%9+1长生1~9的随机数;
#include <stdio.h>
#include <time.h>
int main(){
srand((unsigned)(time(0)));
int random = rand()%9+1;
printf("%d",random);
return 0;
}
c语言中取得伪随机数主要使用srand()和rand()这两个函数.
rand()函数会返回一个伪随机数,但是这是通过一种数学公式推算出来的,得到的随机数分布太集中,这时候要使用srand()函数来设定产生随机数的种子,一般采用当前时间作为种子,这样可以得到分布比较均匀的伪随机数。
rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。随机数测试如下:
#i nclude <stdio.h>
#i nclude <stdlib.h>
#i nclude<time.h>
void main()
{
int results[10];/*用于保存随机数产生的结果*/
int i=0;
srand((int)time(0));/*设定种子*/
for(i=0;i<10;i++)
{
results[i]=0;
}
for(i=0;i<10000;i++)
{
(results[rand()%10])++;/*取一万次随机数,使用求余运算符使得最后取得的随机数小于10*/
}
for(i=0;i<1 0;i++)
{
printf(" %d %d \n",i,results[i]);/*输出0-9之间的随机数出现的次数*/
}
}
经多次运行试验,产生的随机数比较均匀
#include
#include
#include
int main()
{
srand(time(NULL));
printf("%d
", rand());
return 0;
}
可以用采用rand函数 j=(int)(100*rand()/(RAND_MAX+1.0))
rand()函数会返回一个伪随机数,但是这是通过一种数学公式推算出来的,得到的随机数分布太集中,这时候要使用srand()函数来设定产生随机数的种子,一般采用当前时间作为种子,这样可以得到分布比较均匀的伪随机数。rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。rand()%9+1;
rand()%9 产生0~8的随机数;
rand()%9+1长生1~9的随机数;
#include <stdio.h>
#include <time.h>
int main(){
srand((unsigned)(time(0)));
int random = rand()%9+1;
printf("%d",random);
return 0;
}
c语言中取得伪随机数主要使用srand()和rand()这两个函数.
rand()函数会返回一个伪随机数,但是这是通过一种数学公式推算出来的,得到的随机数分布太集中,这时候要使用srand()函数来设定产生随机数的种子,一般采用当前时间作为种子,这样可以得到分布比较均匀的伪随机数。
rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。随机数测试如下:
#i nclude <stdio.h>
#i nclude <stdlib.h>
#i nclude<time.h>
void main()
{
int results[10];/*用于保存随机数产生的结果*/
int i=0;
srand((int)time(0));/*设定种子*/
for(i=0;i<10;i++)
{
results[i]=0;
}
for(i=0;i<10000;i++)
{
(results[rand()%10])++;/*取一万次随机数,使用求余运算符使得最后取得的随机数小于10*/
}
for(i=0;i<1 0;i++)
{
printf(" %d %d \n",i,results[i]);/*输出0-9之间的随机数出现的次数*/
}
}
经多次运行试验,产生的随机数比较均匀