【发布时间】:2017-10-25 03:04:30
【问题描述】:
我试图找到 6 个数字,第一个是 10-100,其他五个数字是 1-10 我读到的关于生成新数字的文章对我来说应用起来有点复杂,所以我通过获取这些数字的一系列重复并将它们放入二维数组中,然后我使用 rand() 作为索引第一个数组参数,所以我可以找到随机数,但我有一个问题..我想将生成的数字放入数组中,因为我想稍后使用它们。
如果你能用简单的方式解释,我将不胜感激
include<sys/time.h>
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<ctime>
#define max 1000
int main()
{
int o, gr1num1[max][1] ,n=6,q[max] ,i = 0, gr2num5[max][5];
while(1)
{
i++;
gr2num5[i][4] = rand() % 10+1 ;
if(i == 1000)
break;
}
if (gr2num5 [i][4]!=0)
srand(time(NULL));
printf("\ngroup 2 numbers %d ",gr2num5 [rand()%500][4]);
printf("\ngroup 2 numbers %d ",gr2num5 [rand()%500][4]);
printf("\ngroup 2 numbers %d ",gr2num5 [rand()%500][4]);
printf("\ngroup 2 numbers %d ",gr2num5 [rand()%500][4]);
printf("\ngroup 2 numbers %d ",gr2num5 [rand()%500][4]);
printf(" \n\n\n /// %d /// ",o);
while(1)
{
i++;
gr1num1[i][1] = rand() % 100+10;
if(i == 1000)
break;
}
printf("group 1 number %d",gr1num1 [rand()%500][1]);
}
【问题讨论】:
-
解释...什么?
-
如何将生成的数字放入数组中
-
旁白:1):在第一次使用
rand之前应该调用srand。 2)拥有#define max 1000,你应该使用它而不是if(i==1000)。 -
您的第二个
while循环将中断,因为您之前没有重置i = 0;。这是使用诸如if(i >= max)而不是if(i == max)之类的测试来阻止失控代码的原因。 -
当我改变你提到的代码时,它为第二个循环给出了 0