2个回答
展开全部
1,先对数组赋值1-9;
2,对数组进行随机交换
3,输出。
以下代码在TC下运行成功,每次运行都会是一个二维 的随机数组。
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int aa[3][3];
randomize();
for(int i=0,*a=aa[0];i<9;i++)
a[i]=i+1;
for(int i=0,j,k,t,*a=aa[0];i<9;i++)
{
j=rand()%9;k=rand()%9;
t = a[j];
a[j]=a[k];
a[k] = t;
}
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
printf("%d ",aa[i][j]);
printf("\n");
}
return 0;
}
追问
请问为什么每次执行时 randomize() 都无法运行?
追答
能编译通过吗? randomize() 是初始化随机数种子,保证每次运行的随机化。
如果不能编译,请用以下代替:
time_t t;
srand((unsigned) time(&t));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
随机排列我不懂!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询