所以我创建了一个允许用户输入数组大小的代码。然后将每个值设置为0.然后程序获取此代码,然后将随机1添加到数组中。然后它输出数组,打印'。'取而代之的是0和'*'代替1,但每次打印时它都不会随机化1s和0s的位置。我只是继续得到1和0的相同布局。我错过了一行代码,还是只需要重新排列?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
solid()
{
int width, height;
int* myEnvironment(int width, int height, int numWoodchips);
printf("\nEnter rows and columns : ");
scanf("%d %d", &width, &height);
int myArray[width][height];
void printEnvironment(int* environment, int width, int height);
int i,j;
printf("\n>Creating grid of size [%d][%d]\n", width, height);
for (i = 0; i < width; i++)
{
for (j = 0; j < height; j++)
{
myArray[i][j] = rand() %2;
if(myArray[i][j]==0)
printf(".");
else if(myArray[i][j]==1)
printf("*");
}
}
printf("\n");
printf("\n>grid of size [%d][%d] created \n", width, height);
return (myArray[i][j]);
我需要返回不同的东西吗?
答案 0 :(得分:2)
无法在C中找到一个好的候选人。
添加:
srand(time(NULL));
开始使用rand()
之前。这个"seeds" pseudorandom number generator具有难以预测(对于此用例)的值,并使其返回不同的数字序列。