在C语言编程中,如何实现让电脑随机输出一1~9的整数?
MMMMMMMMMMMMMM各位编程高手们!帮帮忙!谢谢啦,本人急用,却不从何下手,让电脑随机产生一个1~9的整数,在C\语言编程中TURBOC2.0下完成,不胜感激!!...
MMMMMMMMMMMMMM各位编程高手们!
帮帮忙!谢谢啦,本人急用,却不从何下手,让电脑随机产生一个1~9的 整数,在C \语言编程中TURBO C2.0下完成,不胜感激!!!!!!!!!!!!! 展开
帮帮忙!谢谢啦,本人急用,却不从何下手,让电脑随机产生一个1~9的 整数,在C \语言编程中TURBO C2.0下完成,不胜感激!!!!!!!!!!!!! 展开
3个回答
展开全部
#include <stdio.h>
#include <time.h>
int main(){
srand((unsigned)(time(0)));
int random = rand()%9+1;
printf("%d",random);
return 0;
}
#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之间的随机数出现的次数*/
}
}
经多次运行试验,产生的随机数比较均匀
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之间的随机数出现的次数*/
}
}
经多次运行试验,产生的随机数比较均匀
参考资料: 百度搜索得到
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询