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的二进制位记录对应的牌是否存在