【发布时间】:2020-02-12 09:14:14
【问题描述】:
我正在尝试在 10 行和 10 列中打印一个包含 100 个数字的数组,每个数字都是由某个范围内的随机数生成器随机生成的。但是,要么什么都不打印,要么只打印一个数字。我该如何解决这个问题?
我查看了一些打印数组的示例,但代码似乎不适用于我的程序。我还研究了使用数组播种随机数生成器的方法,但这些方法似乎也不起作用。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
int myRandomNumber, i, a;
srand(0);
myRandomNumber = rand();
double doubarr[10][10];
for (a = 0; a <100; a++);
for (i = 0; i<100; i++);
doubarr[i][a]=(double)(rand()%100+1)/2.0;
printf("%.2lf ", doubarr[i][a]);
}
我希望最终结果在上面代码中指定的范围内打印 10 行和 10 列随机生成的数字。谢谢!
【问题讨论】:
-
开启编译器警告
-
循环不需要语句终止符 (;)。您的循环应该迭代 10 而不是 100。您的打印应该在循环中。
-
srand(0)不应该是srand(time(0))? -
@clockstream 它应该包含来自
/dev/rand或同等的数据。time(NULL)对于远程随机值来说还远远不够。