-
當前位置:首頁 > 創(chuàng)意學(xué)院 > 營銷推廣 > 專題列表 > 正文
- 怎樣用C語言生成10個1到100的不重復(fù)的隨機數(shù)?
- 如何用C語言編寫出 生成10個1到20不重復(fù)的隨機數(shù)。直接完整程序就好了,謝謝
- C語言隨機函數(shù)怎樣產(chǎn)生0-9互不相同的10個隨機數(shù)
- c語言生成10個不重復(fù)的隨機整數(shù),并輸出
- 用C語言怎樣產(chǎn)生10個不同的隨機數(shù)
c語言隨機生成10個數(shù)(c語言隨機生成10個數(shù)存入數(shù)組中)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于c語言隨機生成10個數(shù)的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,有小程序、在線網(wǎng)頁版、PC客戶端和批量生成器
官網(wǎng):https://ai.de1919.com。
本文目錄:
怎樣用C語言生成10個1到100的不重復(fù)的隨機數(shù)?
樓主你好!根據(jù)你的要求我已經(jīng)將代碼實現(xiàn)如下
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
int a[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++){
A: a[i]=rand()%99+1;
for(int j=0;j<i;j++){
a[i]=rand()%99+1;
if(a[i]==a[j])goto A;
else break;
}
}
for(int i=0;i<10;i++)
printf("%d ",a[i]);
}
希望我的回答對你有幫助!
如何用C語言編寫出 生成10個1到20不重復(fù)的隨機數(shù)。直接完整程序就好了,謝謝
#include <stdio.h>#include <stdlib.h>
#include <time.h>
#define N 10
void main()
{
int a[20]={0},b[N],x,i,j,t;
srand((unsigned int)time(NULL));
for (i=0;i<N;i++)
{
while(a[x=rand()%(20-2) + 2]);
{
b[i]=x;
a[x]=1;
// printf("%d ",b[i]);
}
}
for(i =0 ;i<N-1;i++)
{
for(j = i+1 ;j<N;j++)
{
if(b[i]>b[j])
{
t= b[i];
b[i] = b[j];
b[j] = t;
}
}
}
for(i =0 ;i<N;i++)
{
printf("%d ",b[i]);
}
}追問
為什么生成了20個呢
追答你修給了注釋的部分嘛?還是什么情況,我運行生成的是10個,在你那兒怎么生成了20個?
C語言隨機函數(shù)怎樣產(chǎn)生0-9互不相同的10個隨機數(shù)
對已經(jīng)獲取到的隨機數(shù)做標記,如果已經(jīng)獲取到過,那么則放棄該隨機數(shù),并繼續(xù)獲取。
直到獲取到所有隨機數(shù)為止。
參考代碼如下:
#include?<stdio.h>#include?<stdlib.h>
#include?<time.h>
int?main()
{
????int?a[10];//存儲獲取到的隨機數(shù)。
????int?f[10]?=?{0};//存儲是否獲取到過。
????int?n?=?0;?//計數(shù)器。
????
????srand(time(NULL));//設(shè)置隨機數(shù)種子。
????
????while(n<10)
????{
????????int?m?=?rand()%10;?//獲取一個0~9的隨機數(shù)。
????????if(f[m])?continue;//該數(shù)之前已經(jīng)獲取到過。
????????a[n++]?=?m;//將該數(shù)存入數(shù)組。
????????f[m]?=?1;//標記該數(shù)已經(jīng)獲取過。
????}
????
????for(n?=?0;?n?<?10;?n++)//打印結(jié)果。
????????printf("%d,",a[n]);
????
????return?0;
}
c語言生成10個不重復(fù)的隨機整數(shù),并輸出
#include <stdio.h>#include <time.h>
#define elemType int /*元素類型*/
#define LEN 100 /*數(shù)組長度上限*/
/*生成n項min~max范圍的隨機數(shù)并存入數(shù)組randArr*/
void randomArray (elemType randArr[LEN], int n, elemType min, elemType max) {
int i;
srand ((unsigned)time(NULL)); /*用時間做種,每次產(chǎn)生隨機數(shù)不一樣*/
for (i=0; i<n; i++)
randArr[i] = rand(NULL) % (max-min+1) + min; /*產(chǎn)生min~max的隨機數(shù)*/
}
/*打印數(shù)組*/
void printArr (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
printf ("%dt",arr[i]);
putchar ('n');
}
int main (void) {
elemType arr[LEN];
int len = 10; /*10個隨機數(shù)*/
randomArray (arr, len, 1, 50); /*隨機生成數(shù)組內(nèi)容*/
printArr (arr,len);
putchar ('n');
getch (); /*屏幕暫留*/
return 0;
}
運行結(jié)果
用C語言怎樣產(chǎn)生10個不同的隨機數(shù)
方法和詳細的操作步驟如下:
1、第一步,打開C語言編譯器并創(chuàng)建一個新的初始.cpp文件,例如“test.cpp”,見下圖,轉(zhuǎn)到下面的步驟。
2、第二步,執(zhí)行完上面的操作之后,輸入C語言代碼,見下圖,轉(zhuǎn)到下面的步驟。
3、第三步,執(zhí)行完上面的操作之后,編譯器運行test.cpp文件,執(zhí)行結(jié)果見下圖。這樣,就解決了這個問題了。
以上就是關(guān)于c語言隨機生成10個數(shù)相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
與地理有關(guān)的職業(yè)(與地理有關(guān)的職業(yè)有哪些)