本文目录一览:
C语言中产生随机数
随机数主要有两个函数
一个种子产生函数
void
srand(int);
一个随机数产生函数
int
rand();
当我们要产生随机数的时候,首先我们生成一个随机数种子(注意相同的种子产生的随机数序列是一样的)
然后使用rand()函数得到随机数
祝你好运
C语言:随机产生序号和成绩,为6个结构体数组的元素排序。咋写?
代码文本:
#include "stdio.h"
#include stdlib.h
#include "time.h"
struct A{
int S_N,score;
};
int main(int argc,char *argv[]){
A stu[10],t;
char i,j,k;
printf("随机输入情况...\n");
srand((unsigned)time(NULL));
for(i=0;i6;i++){
stu[i].S_N=rand();
for(j=0;ji;j++)
if(stu[i].S_N==stu[j].S_N){
i--;
break;
}
stu[i].score=rand()%51+50;
printf("%05d %4d ",stu[i].S_N,stu[i].score);
}
printf("\n\n按学号由小到大排序...\n");
for(i=0;i6;i++){
for(k=i,j=k+1;j6;j++)
if(stu[k].S_Nstu[j].S_N)
k=j;
if(i!=k)
t=stu[k],stu[k]=stu[i],stu[i]=t;
printf("%05d %4d ",stu[i].S_N,stu[i].score);
}
printf("\n\n按成绩由大到小排序...\n");
for(i=0;i6;i++){
for(k=i,j=k+1;j6;j++)
if(stu[k].scorestu[j].score)
k=j;
if(i!=k)
t=stu[k],stu[k]=stu[i],stu[i]=t;
printf("%05d %4d ",stu[i].S_N,stu[i].score);
}
puts("\n");
return 0;
}
C语言如何编程产生随机数
楼主你好!
很高兴回答你的问题!
#includestdio.h
#includewindows.h
#includetime.h
#includestdlib.h
int main()
{
int num;
srand((unsigned)time(NULL));
num = rand()%100+1;
printf("%d\n",num);
return 0;
}
上面的是参数一个1到100之间的随机数的例子!主要用到rand()函数,它能够随机参数一个0到unsigned int的最大值之间的一个随机数,我们可以通过%控制随机数参数的范围!在使用rand()需要调用srand()种子器,不然你每次得到都是同一个数!具体用法可以去网上查查!
希望我的回答对你有帮助!
望采纳!谢谢!
如何在C语言中生成一定范围内的随机数?
srand((int)time(NULL));设定随机数种子
rand()%100;产生0-99的随机数。
高级点的,假如要产生16-59之间的数,你可以这样写:rand()%44+16(这里44由59-16+1得到)。其他情况如法炮制!
C语言中用rand()函数产生20-90的随机整数
20-90共有71个数字,所以是rand()%71+20 ;
用rand()生成-20-20的随机数
-20-20共有41个数字,所以是rand()%41-20;
需要注意的是,在运行以上代码之前最好设定一下:
srand(time(NULL));//用系统当前时间设置rand()随机序列种子,保证每次运行随机序列不一样
在C语言中如何产生随机数
假设要生成的随机数是大于等于20且小于等于100的整数
#includestdio.h
#includetime.h
#includestdlib.h
void main() { int a,b,x;
a=20; b=100;
srand((unsigned int)time(NULL)); //用当前时间生成一个随机数种子
x=rand()%(b-a+1)+a;
printf("得到一个随机数:%d\n",x);
}