當前位置:首頁 » 編程語言 » c語言里怎麼隨機取一個數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言里怎麼隨機取一個數

發布時間: 2022-04-23 06:59:48

1. c語言怎麼實現從一個數組中隨機抽取一個元素

隨機產生一個數,然後每次將數組元素的最後一個數與這個數交換,並且數組的長度減1。

int [] b = new int[100];

int t = 0, idx = 0, len = a.length;

for(int i=0;i<len;i++)

{

idx = [rand()*(len-i)];

b[i] = a[idx];

t = a[idx];

a[idx] = a[len - 1];

a[len - 1] = t;

}

return b;

2. C語言如何編程產生隨機數

1、首先打開Visual
stdio
2019,依次點擊文件,新建,項目新建以一個空白的項目:
2、新建新項目以後,右鍵點擊左邊的源文件,選擇添加,點擊添加項:
3、選擇cpp,並將下方的擴展名改為.c,然後點擊確定:
4、接下來就可以用編譯器編譯,使用rand()函數產生C語言的隨機數,需要加入stdlib.h和time.h在表頭,rand()函數需要給srand()函數提供一個參數,不然系統會給定一個默認的參數,如果參數為一任意的常量的話,得到的也是偽隨機數:
4、按ctrl+F5就可以運行程序了,在彈出的窗口中就會看到得到的所有隨機數了:

3. C語言抽取隨機數怎麼編寫

源程序代碼以及演算法解釋如下:

產生1-10隨機數程序:

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;//定義隨機數個數

int number[n] = { NULL };//定義隨機數存儲的數組

srand((unsigned)time(NULL));//初始化隨機函數

number[0] = rand() % n;//第一個隨機數無需比較

cout << number[0] << " ";

for (int i = 1; i < n; i++)//其餘隨機數循環產生

{

int j = 0;

number[i] = rand() % n;//產生隨機數

while (1)

{

if (number[i] == number[j])//若有相同則繼續循環重新安排隨機數

{

number[i] = rand() % n;//產生隨機數

j = 0;//若遇到相同的就從頭遍歷

continue;

}

if (j == (i - 1))//若遍歷完就跳出

break;

j++;

}

cout << number[i] << " ";

}

cout << endl;

return 0;

}

程序運行結果如下:



(3)c語言里怎麼隨機取一個數擴展閱讀:

利用vector進行隨機數輸出:

#include <iostream>

#include <vector>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;

int randnum;

vector<int> number;

for (int i = 0; i < n; i++)

{

number.push_back(i + 1);//從尾部添加元素

cout << number[i] << " ";

}

cout << endl;

srand((unsigned)time(NULL));

for (int j = 0; j < n; j++)//其餘隨機數循環產生

{

randnum = rand() % (n - j);//rand函數生成的隨機數是0-(n-1)

cout << number.at(randnum) << " ";

number.erase(number.begin() + randnum);

}

cout << endl;

return 0;

}

4. C語言怎麼讓一個變數隨機取一個數

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
intmain(void)
{
inta;
srand(time(NULL));
a=1+rand()%100;
printf("%d ",a);
return0;
}

5. C語言中如何隨機選取數組中的數字(程序代碼請寫出)

應該是a[2][3]={{1,3,2},{8,0,3}} 吧

#include <iostream> //cout函數的頭文件
#include <cstdlib>
#include <time.h> /* srand函數與rand函數的頭文件*/

using namespace std;

int main()
{
int a[2][3]={{1,3,2},{8,0,3}},x,y,z;

srand ( (unsigned) time (NULL) );

x=rand()%2; //調用隨機函數
y=rand()%3; //調用隨機函數

z=a[x][y];

cout<<z<<"\n";

system ("pause");

return 0;
}

三樓,請注意素質...
那是我的版權!!

樓主,一定要注意先來後到!
我本是2樓的,後因稍作修改,沒想到3樓抄襲我。。。

6. C語言中如何選取隨機的數據

srand(time(0));
int
a
=
1
+
(int)rand()/RAND_MAX*99;
在一個數組里把抽取過的數放進去,每次抽時與裡面的比較。有相同的重新抽取就可以了。

7. C語言中怎樣生成隨機數

在VC中設計到隨機數有兩個函數

srand() and rand()

srand() 的作用是是一個種子,提供每次獲得隨機數的基數而已,rand()根據種子而產生隨機數

注意

1:srand() 里的值必須是動態變化的,否則得到的隨機數就是一個固定數

2:其實可以不用寫srand() ,只用rand()就可以了,省事,簡單,例子如下

如果我們想得到一個 0-60的隨機數那麼可以寫成

int i;

i=rand()%60;

就可以了。

當然最好有個統一的標注如下:

int i;

srand((unsigned)time( NULL ));

i=rand()%60;

這樣就OK了。

8. c語言中在給出的數據中隨機取數

#include

#include

#include

int
main(
)
{
int
i;
double
num
[10]=
{
1.2,
1.5,
3.5,
4.7,
2,
3,
4,
5,
6,
7
};
//
……
srand(
(unsigned)time(
NULL
)
);
//
先產生一個0

num-1
的隨機數,從你的數據數組中取那個就行了。
//
產生方法rand()
%
10,產生10以內隨機數。
//
比如下面產生10個隨機數,及其對應的你
的數據
for(
i
=
0;
i
<
10;i++
)
printf(
"i
=
%d,
num[i]
=
%lf\n",
rand()%10,
num[i]
);
return
0;
}

9. 怎樣用c語言取一個隨機數

例如:
#include<stdlib.h>
int
i;
i=rand()%10;
就是取0到10(不包括10)之間的隨機數

10. 怎麼用C語言生成隨機數

假設要生成的隨機數是大於等於20且小於等於100的整數

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用當前時間生成一個隨機數種子
x=rand()%(b-a+1)+a;
printf("得到一個隨機數:%d ",x);
}