扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
源代码如下:
创新互联专注于企业营销型网站、网站重做改版、呼和浩特网站定制设计、自适应品牌网站建设、HTML5建站、商城开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为呼和浩特等各大城市提供网站开发制作服务。
srand()*/
#include
main()
{
int i,j;
for(i=0;i100;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf("%d ",j);
}
扩展资料
1、rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。
2、rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在{{32767:0}}之间(int)。
3、rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。
4、rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。
#includestdio.h
#includestdlib.h
#includetime.h
int main(void)
{
srand(time(0));
int i=0; //用于下面的循环
int a[20]={0}; //用于存储产生的20个随机数。
double ave=0; //用于求20个随机数的和,为了求他们的平均数。
for(i =0;i=19;i++)
{
a[i]=rand()%90+10; //rand()%90产生0-89的随机数,加上10后就是10-99的随机数。
ave=ave+a[i];
printf("第%d个随机数是:\n",i+1,a[i]);
}
ave=ave/20;
for(i =0;i=19;i++) //打印大于平均数值的随机数;
{
if(a[i]ave)
{
printf("第%d个随机数等于%lf大于平均数%lf\n",i+1,a[i],ave)
}
}
return 0;
}
结果:
第1个随机数是:34
第2个随机数是:32
第3个随机数是:86
第4个随机数是:20
第5个随机数是:86
第6个随机数是:43
第7个随机数是:26
第8个随机数是:65
第9个随机数是:98
第10个随机数是:57
第11个随机数是:98
第12个随机数是:59
第13个随机数是:72
第14个随机数是:27
第15个随机数是:25
第16个随机数是:55
第17个随机数是:53
第18个随机数是:83
第。。。。。。。。
#include stdio.h
#include stdlib.h
#include "time.h"
char op(int j) //打印 + - * / 符号
{
switch(j)
{
case 1: return '+';
case 2: return '-';
case 3: return '*';
case 4: return '/';
}
}
int result(int a, int b, int operation) //返回正确的结果
{
switch(operation)
{
case 1: return a+b;
case 2: return a-b;
case 3: return a*b;
case 4: return a/b;
}
}
int main(int argc, char *argv[])
{
srand((unsigned)time(0)); //初始化随机种子
int a,b,sum,operation;//operation为操作符,1:+ 2:- 3:* 4:/
int i;
for(i=1;i=10;i++) //循环为1到10题
{
int wrong_count=0; //错误次数
int n; //每题输入的答案
int k; //倍数,以便得到10-200之间的数
k=rand()%20+1;
a=(rand()%10+1)*k; //随机取得a
b=(rand()%10+1)*k; //随机获得b
operation=rand()%4+1; //随机+-*/
while(1)
{
system("cls"); //清屏
printf("第%d题:\n",i);
printf("%d %c %d = ",a,op(operation),b);
fflush(stdin); //清空输入缓冲,防止上次的输入被本次读取
scanf("%d",n);
if(n==result(a,b,operation))
{
printf("\nRight");
_getch(); //按任意键断续
break; //退出while循环,进行下一题
}
else
{
wrong_count++;
if(wrong_count=3) //连错3次,打印后退出
{
printf("\nWrong! You have tried three times! Test Over!");
return 0;
}
printf("\nWrong! Please try again.");
_getch();//按任意键再答一次
continue; //断续while循环
}
}
}
return 0;
}
先用srand函数设置随机数种子,再用rand函数取两个随机数作为运算数字,而运算符只有+和-,那么用rand()%2来得到0~1的随机数来决定运算符号。
下面演示代码,随机生成10道加减题,输入回答,判断正确性。
#includestdio.h
#includestdlib.h
#includetime.h
#define M 10//题目数量
int main(void)
{
int n=M,num1,num2,s,y,a;
srand(time(NULL));
while(n--)
{
y=rand()%2;
num1=rand();
num2=rand();
if(y)
printf("问题%d:%d+%d=",M-n,num1,num2),s=num1+num2;
else
printf("问题%d:%d-%d=",M-n,num1,num2),s=num1-num2;
scanf("%d",a);
if(a==s)printf("回答正确!\n\n");
else printf("回答错误!正确答案:%d\n\n",s);
}
return 0;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流