當前位置:首頁 » 編程語言 » 隨機生成坐標C語言結構體
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

隨機生成坐標C語言結構體

發布時間: 2022-11-17 04:54:45

1. c語言 隨機數 和 結構體

int Rand() //隨機函數產生min 到 max之間的隨機數。一般以時間為隨機種子產生隨機數。
{
//要取得[a,b)的隨機整數,使用(rand() % (b-a))+ a (結果值含a不含b)。
//要取得[a,b]的隨機整數,使用(rand() % (b-a+1))+ a (結果值含a和b)。
//要取得(a,b]的隨機整數,使用(rand() % (b-a))+ a + 1 (結果值不含a含b)。
//if(nCount<1){return;}
srand((unsigned int)time(NULL));//隨機數發生器的初始化函數,可以在網路了解下,若希望每次程序運行之後產生的隨機數相同只需要將隨機種子設置為同一個數字如srand(1);
int i;
i = (rand()%(MAX-MIN+1))+MIN;
return i;
}

2. C語言編程怎樣定義點的坐標啊,怎樣實現隨機點的產生

點的坐標的話你可以使用結構體struct,裡面分別定義橫縱坐標,隨機點你去找下rand的用法吧。

3. c#編寫 隨機生成100個三維點坐標 並且以文本格式(x,y,z)輸出結果

Graphics gra = this.pictureBox1.CreateGraphics();
gra.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Brush bush = new SolidBrush(Color.Green);//填充的顏色
gra.FillEllipse(bush, 10, 10, 100, 100);//畫填充橢圓的方法,x坐標、y坐標、寬、高,如果是100,則半徑為50

4. vc 如何能隨機生成三維坐標

只生成坐標?
可以直接用 rand()%n 生成0到n-1之間的隨機數當坐標用

#include <time.h>
struct 3DPoint
{
int x;
int y;
int z;
};

3DPoint pt[100];

void PtCreate()
{
srand((unsigned)time(NULL));
for(int i=0;i<100;i++)
{
pt[i].x = rand()%100;
pt[i].y = rand()%100;
pt[i].z = rand()%100;
}
}

5. 怎麼利用C語言編程軟體產生一維平面隨機坐標,且坐標的x,y的取值范圍有所限制。

#include<math.h>
int main(void)
{
double x=180*rand();
double y=90*rand();
return 0;
}
//rand()產生一個0到1的隨機數

6. C語言中如何產生隨機的二維數組的坐標

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[10][10];
int k=0;
int x,y;
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
a[j][i]=k;
k++;
}
}

for(int i=0;i<10;i++)// 輸出看一下而已
{
for(int j=0;j<10;j++)
{
printf(" %d",a[j][i]);
}
printf("\n");
}

printf("輸入想生成多少個");
int n;
scanf("%d",&n);
srand(time(0));/*隨機數種子*/
for(int i=0;i<n;i++)
{
x=0+ rand()%9;
y=0+ rand()%9;
printf("%d ",a[x][y]);
}
return 0;
}

//就是把隨機數XY放在a[][]裡面就好了

7. 如何在c語言中生成定和的隨機數組

這種需求最好是使用遞歸結構,比如你想要和是100的一組隨機數,第一次隨機可以使用100去模 rand()從而產生小於100的一個隨機數,第二次需要100減去上次產生的隨機數結果然後再去模 rand()。依次類推,每一次產生隨機數都需要使用上一次的結果,然後用100去減它,然後在模 rand()。所以最方便的就是遞歸函數了。
大概的偽代碼
int my_rand(int last_rand)
{
int ret;
ret = (100-last_rand)%rand();
ret放入數組中;
my_rand(ret);
retrun ret;
}

8. C語言中如何產生隨機的二維數組的坐標

使用隨機函數即可產生隨機數。

1、C語言提供了一些庫函數來實現隨機數的產生。C語言中有三個通用的隨機數發生器,分別為rand函數,random函數,randomize函數

2、但是rand函數產生的並不是真意正義上的隨機數,是一個偽隨機數,是根據一個數,稱之為種子,為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數,但這不是真正的隨機數,當計算機正常開機後,這個種子的值是定了的,除非破壞了系統,為了改變這個種子的值,C提供了srand()函數,它的原形是voidsrand(inta)。

3、在調用rand函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。一般用for語句來設置種子的個數。

舉例:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
inta[10][2];
inti,j,x,y;
srand(time(NULL));/*隨機數種子*/
for(i=0;i<10;i++)
for(j=0;j<2;j++)
{
a[i][j]=0+rand()%10;/*產生0到10(不包括10)之間的隨機數*/
}
printf("輸出元素: ");
for(i=0;i<10;i++)
for(j=0;j<2;j++)
{

printf("a[%d][%d]=%d",i,j,a[i][j]);
if((j+1)%2==0)
printf(" ");
}
getchar();
return0;
}

9. C語言中隨機數能不能隨機出現結構體

這當然行

如果要隨機生成

1.
structCARD
{
chara;
charb;
}
可以循環+隨機為a,b賦值
2.
如果已經有structCARD類型的數組,可以直接隨機取數組下標

3.
當然,如果你是想問,怎麼隨機發不重復的牌。。。那你的描述就有些缺陷
不過這也是行的
方案一:用一個intn記錄剩下多少牌,一個inta[54](如果有54張牌)來記錄structCARD的下標
方案二:用一個intn記錄剩下多少牌,一個inta[54]來記錄對應的牌是否存在
方案三:如果牌少還可以用intn記錄剩下多少牌,一個inta的二進制位記錄對應的牌是否存在