本文目錄一覽:
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);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270541.html