请问一下这个c语言的题目的思路是什么呢。为什么我总是想不出来:在一个10X10的棋盘中,在其中随机

2025-02-03 05:52:43
推荐回答(2个)
回答1:

#include
#include

main(){
int i,j,a[10][10];
int r[10];
srand((unsigned int)time(NULL)); // 随机种子
for (j=0;j<10;j++) for (i=0;i<10;i++) a[j][i]=0; //初始化 0
//产生 十个不重复的随机数
r[0]=rand()%100;i=1;
while(1){
r[i]=rand()%100;
for (j=0;jif (r[i] !=0) i=i+1;
if (i>=10) break;
}

for (i=0;i<10;i++) a[r[i]/10][r[i]%10]=1; // 放入格子
// 打印,X为有,0 为无
for (j=0;j<10;j++){
for (i=0;i<10;i++)if (a[j][i]==1) printf("X "); else printf("0 ");
printf("\n");
}
}

回答2:

二维数组表示某位置有没有雷就行了,至于画棋盘那个就不是什么问题了,想怎么画就怎么画。
10个随机雷可以用c语言的随机函数产生。