帮我用c语言弄下这个东西(非作业)

来源:百度知道 编辑:UC知道 时间:2024/06/19 12:13:35
49个数字(01-49):
要求:
把这49个数字放到盒子里面抽(即不放回随机抽样),每次一个数,抽出的数字按照如下排列:
按行排列,每行6个数,共8行,最后一个数放到第9行,
然后在我这49个数放到盒子里再抽,抽出来的数字,接着从第9行第2个排下去。最后剩2个数。
总共是16行,每行6个数,要求用数组的形式把这些数表示出来;

如果把49个数改为36个数(01-36),共10行,每行7个数,该怎么修改一下?

#include <time.h>
#include <stdlib.h>
#define row 16
#define line 6
int a[row][line];
int i=0,j=0,n=0;
srand(time(0)); //以当前时间当做随机种子
int var=rand()%48;//取得0-48的随机数
while(n<49){
if(!check1(var+1))//不存在于数组1中
{
a[i][j]=var+1;
if(j+1<line)j++;
else
{
i++;
j=0;
}
n++;
}
}
if(!check2(var+1))//不存在于数组2中
{
同上
}

int check1(int x){}//检查是否存在于前49元素
int check2(int x){}//检查是否存在于后47元素

这种事情,最好自己动脑,