我如何用X替换数组中的随机数,因为我想在打印数组时随机不显示某些数字。
所以例如我有一个像这样编码的数组:
void main()
{
int Array[3][3];
int row, col;
for (row = 0; row<3; row++)
{
for (col = 0; col<3; col++)
{
if (col == 0)
{
Array[row][col] = (rand() % 10);
}//end of 1st col
else if (col == 1)
{
Array[row][col] = (rand() % 10);
}//end of 2nd col
else if (col == 2)
{
Array[row][col] = (rand() % 10);
}//end of 3rd col
}// end col for
printf("\n");
}// end row for
//print
for (row = 0; row < 3; row++)
{
for (col = 0; col < 3; col++)
{
printf("%d \t", Array[row][col]);
}// end col for
printf("\n");
}// end row for ptinting the array
_getch();
}
示例输出是:
1 7 4
0 9 4
8 8 2
我想用这样的X随机替换这个数组中的数字:
1 x 4
x 9 4
8 8 x
感谢。
答案 0 :(得分:0)
第一个代码中的第一个代码不需要条件“if”除了不需要条件之外,这将在exécution方面产生很大的延迟。
现在为随机x juste创建一个循环,逐步抛出row元素,对于每个incrémentation,你调用此循环中的随机函数,返回的随机值必须是0到2之间的值,所以创建一个while检查返回超出值的条件和条件是返回的值在0到2之间,一旦完成,这个值将是你要放置x的col索引
答案 1 :(得分:0)
不确定这是否是您正在寻找的
#include <stdio.h>
#include <time.h>
void main() {
int Array[3][3];
int row,col;
srand(time(NULL));
for(row=0;row<3;row++)
for(col=0;col<3;col++)
Array[row][col] = rand() % 10;
for(row=0;row<3;row++) {
for(col=0;col<3;col++)
if(rand() % 2)
printf("%d ", Array[row][col]);
else
printf("X ");
printf("\n");
}
}
答案 2 :(得分:0)
感谢A.S.H这就是我所做的:
void main()
{
int Array[3][3];
int row, col;
srand(time(NULL));
for (row = 0; row<3; row++)
{
for (col = 0; col<3; col++)
{
if (col == 0)
{
Array[row][col] = (rand() % 10);
}//end of 1st col
else if (col == 1)
{
Array[row][col] = (rand() % 10);
}//end of 2nd col
else if (col == 2)
{
Array[row][col] = (rand() % 10);
}//end of 3rd col
}// end col for
printf("\n");
}// end row for
//print
for (row = 0; row < 3; row++)
{
for (col = 0; col < 3; col++)
{
if (rand() % 9 < 4)
{
printf("%d \t", Array[row][col]);
}
else
{
printf("%s \t", "X");
}
}// end col for
printf("\n");
}// end row for ptinting the array
_getch();
}
获得打印输出:
x x 9
x x 5
3 0 x
目前有太多的数字似乎都是x,但这可能是我在某处无法看到的错误。