1. 51單片機用c語言產生一個100以內的隨機數 怎麼生成
C語言本身並不能產生隨機數。
介紹一個比較簡單的隨機數獲取方法:啟動單片機的定時器,讓它自己跑不要發生溢出中斷,用戶操作時直接讀計數器數值,那基本上就是個隨機數。
2. 怎樣用C語言生成10個1到100的不重復的隨機數
樓主你好!
根據你的要求我已經將代碼實現如下
#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]);
}
希望我的回答對你有幫助!
3. C語言如何srand和rand函數產生10個1-100內的隨機數知道
先用srand函數設置一個種子,一般為當前時間,然後使用rand函數產生隨機數,如產生a~b的隨機數使用表達式rand()%(b-a+1)+a。
注意:srand函數在頭文件#include
<stdlib.h>中。
示例代碼:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[10]/*用於保存10個產生的隨機數*/, i;
srand((unsigned int)time(NULL));//設置當前時間為種子
for (i = 0; i < 10; ++i){
a[i] = rand()%100+1;//產生1~100的隨機數
}
//列印生成的隨機數
for (i = 0; i < 10; ++i){
printf ("%d ", a[i]);
}
printf ("\n");
return 0;
}
4. 怎樣用C語言產生隨機數,1-100之間的
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
srand((unsigned int)time(0));
int a[20];
for(int i = 0; i < 20; i++)
{
a[i] = rand()%100 + 1;
printf("%d\n", a[i]);
}
return 0;
}
5. 你好,怎樣用c語言輸出一個1到100的隨機數
源程序如下:
#include "pch.h"
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
const int n = 10000;
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;
}
程序運行結果:
(5)c語言生成一個1到100的隨機數擴展閱讀:
其他實現方式:
#include<time.h> //使用 time 函數必須引入 time.h 頭文件
#include<stdlib.h>
int main()
{
srand((int)time(0));
int rand_num = rand();
printf("rand_num = %d
", rand_num);
return 0;
}
6. c語言生成1 - 100的不重復隨機數
c語言生成1 - 100的不重復隨機數?根據你的要求我已經將代碼實現如下
#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]);
}
7. C語言, 生成1到100間的隨機數, 下面兩種方法有什麼不同
假設第一次rand返回1010
第二次rand返回2010
rand_max假設為4000
1,100*(1010/4001)+1約等於100*(1/4)+1=26
2,100*(2020/4001)+1=51 約等於 100*(1/2)+1=51
3,1010%100+1=11
4,2010%100+1=11
第一個式子擴大了隨機數波動對結果的影響
盡量選擇第一個式子 使結果變得更隨機性一些
8. C語言如何srand和rand函數產生10個1-100內的隨機數
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
9. C語言中產生0—1的100個隨機數
這是一種辦法,還想知道其他函數就去看透文件吧
#include
<stdio.h>
#include
<time.h>
#include
<stdlib.h>
int
main()
{
int
i;
srand(time(NULL));
for(i=0;i<100;i++)
{
printf("%lf\n",(double)rand()/RAND_MAX);
}
return(0);
}