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

c語言ran

發布時間: 2022-09-04 17:53:29

A. c語言rand怎麼隨機產生浮點型數

#include<stdlib.h>

#include<time.h>

#include<iostream.h>

#define MAX_RANDOM 1000//這個是產生隨機數的最大值,但是取浮點數,所以要除去的

#define NUM 2500

double random(double a,double b)//這個是產生隨機數函數,由於庫函數功能有限,所以要自己封裝一下

{

return(rand()%(int)((b-a)*MAX_RANDOM))/(double)MAX_RANDOM+a;

}

void main()

{

double Dran[NUM+(NUM-1)*4];

double ran[(NUM-1)*4];

double a,b;

int k=0;

srand((unsigned)time(NULL));//這個是設定隨機數的種子數,由於種子數相同產生的隨機數相同,所以取時間做種子

cout<<"***********************************親體**************************"<<endl;

for(int i=0;i<NUM+(NUM-1)*4;i=i+5)//獲得了親體

{

Dran<i>=random(10,20);

cout<<Dran<i><<"";

}

/*

cout<<"***********************************後代**************************"<<endl;

//Dran裡面是裝的親代和後代一起的,ran裡面只是裝的後代

for(i=0;i<NUM+(NUM-1)*4-1;i=i+5)

{

a=Dran<i>;

b=Dran[i+5];

for(int j=1;j<=4;j++)

{

Dran[i+j]=random(a,b);

ran[k]=Dran[i+j];

cout<<ran[k]<<"";

k++;

}

}

*/

}

(rand()%(int)((b-a)*MAX_RANDOM))/(double)MAX_RANDOM+a這個產生浮點數.

(1)c語言ran擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include<math.h>//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。




B. 關於用C語言庫函數rand()生成隨機數的問題

rand()生成[0,RAND_MAX]之間的隨機數,
生成[a, b]范圍內的浮點隨機數,a + rand() * 1.0 * (b - a) / RAN_MAX
整數隨機數: a + rand() / (RAN_MAX / (b - a) + 1)

rand()/RAND_MAX - 2 是錯的,浮點數只會得到[-2, -1],整數只會得到-2和-1兩個數。

C. c語言問題。對於1~9這9個數字,任取n個數字,存放在二維數組ran

沒有C編譯器,用java寫了個,能跑
char_use的意思,是該數字是否採用:0-不採用,1-採用,當採用個數正好等於參數n時,表示這一組合是要放到返回數組中的。
循環結尾處:就是對一個九位數進行+1操作,當最後一位需要進位時,前一位+1,其實可以用for(i=0;i<512;i++),取二進制的9位,0-不採用,1-採用。然後1的數量是參數n的時候,將這個組合裝入返回數組。

public class Test9 {
static int[][] return_arr(int n){
int size=1;
for(int i=1;i<=n;i++) size=size*(10-i)/i;
int[][] _array = new int[size][n];
int[] char_use = {0,0,0,0,0,0,0,0,0};
int char_use_sum;
int _array_row=0;
int _array_col;
while(char_use[0]<2) {

char_use_sum = 0;
for(int i=0;i<9;i++) char_use_sum+=char_use[i];

if(char_use_sum == n) {
_array_col = 0;
for(int i=1;i<10;i++) {
if(char_use[i-1] == 1) {
_array[_array_row][_array_col] = i;
_array_col++;
}
}
_array_row++;
}

for(int i=8;i>=0;i--){
if(i==0 || char_use[i]+1<2){
char_use[i]++;
break;
}else{
char_use[i]=0;
}
}
}

return _array;
}

public static void main(String[] args){
int[][] x= return_arr(2);
for(int i=0;i<x.length;i++) {
for(int j=0;j<2;j++) System.out.print(x[i][j]+",");
System.out.println();
}
}
}

D. C語言中ran()函數的用法

需要包含 stdlib.h
隨機產生一個 0-32767間整數並返回 如 i=rand();
當需要某一定范圍內值的時候如 需要 100-200: i=100+rand()%100;

E. C語言中的"ran2.c"是什麼

這個應該是自己寫的一個C語言文件,自己包含進來的,你的程序不全,你再找找還有沒有其他文件。

F. 輕松學C語言隨機函數ran

#include<stdlib.h>
#include<stdio.h>
intmain()
{
inti=30;
while(i--)
{
printf("%5d",rand());
if(i%10==0)
{
printf(" ");
}
}
}

G. C語言srand和rand函數

rand()函數,一般根srand()函數一起用。它們在一起,作用是:產生一個隨機數。

通常格式為:

srand ( (unsigned) time (NULL) );
a=rand()%x; //a,x,均為整型變數,其中,x在之前應被賦值。

srand函數裡面的unsigned也可以換成其它的。例如:int之類的數據類型,但結果也會有相應的變化。
通過rand函數產生隨機數以後,用%x來限定它的范圍。即:0<=a<x。
其原理是:用那個隨機數,去除以x,留下所得余數,作為最終結果。

H. C語言編程題

#include<stdlib.h>
#include<conio.h>
#include<stdio.h>//我用的是vc 這是添加的
void main()
{
int a[21],i,ran,max,min,sum,average;
system("cls"); //clrscr();vc中沒這個清屏函數我換了個
for (i=1;i<=20;i++)
{
while((ran=rand())/10==0)
a[i]=ran;
}
max=min=a[1];
sum=0;
for(i=1;i<=20;i++)
{
printf("a[%d]=%d\n",i,a[i]);
sum+=a[i];
if(max<a[i])
max=a[i];
else if(min>a[i])
min=a[i];
}
average=sum/20;
printf("\nsum=%d, max=%d, min=%d, average=%d \n",sum,max,min,average);
puts("\nany key to exit!");
getche();
}
程序可以執行,你看下運行結果對不對,我把random(51)換成了rand(),因為<stdlib.h>中不包括random()函數

I. c語言怎麼讓每次運行使用的隨機數種子都不一樣

指定seed為當前系統流逝了的時間(單位為秒):time_t time(0):
#include <ctime>
//…
srand((unsigned)time(0));
for(int i=0;i<10;i++){
ran_num=rand() % 6;
cout<<ran_num<<" ";
}
第一次運行時輸出:0 1 5 4 5 0 2 3 4 2
第二次:3 2 3 0 3 5 5 2 2 3
總之,每次運行結果將不一樣,因為每次啟動程序的時刻都不同