因此,我因为第一年分配所需的这个子任务而日复一日地面临脱发。在阵列中打印“盒子”
我需要在程序的初始化阶段在坐标[5] [5] /即中心板的打印“框”周围的数目。
的 '盒子' 由...组成 “|” 覆盖的侧面和 “_” 上部,且数目的底部在坐标[5] [5]。
当我执行这个程序,板显示,但'框'没有。 这是为什么发生?
下面是代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//FUNCTION: Draw the Board
int drawBoard()
{
//Declare array size
int board[9][9];
//initialize variables
int rows, columns, randomNumber, flag;
//random number seed generator
srand(time(NULL));
for (rows = 0 ; rows < 9 ; rows++)
{
for (columns = 0 ; columns < 9 ; columns++)
{
flag = 0;
do
{
//generate random numbers from 2 - 8
randomNumber = rand() %7 + 2;
board[rows][columns] = randomNumber;
//Display the 'box' if rows and columns == 5/i.e - board[5][5]
if (rows == 5 && columns == 5)
{ //Checks for 2 adjacent numbers
if (board[rows][columns] == board[rows - 1][columns] || board[rows][columns] == board[rows][columns - 1])
{
flag = 0;
continue;
}
else
{
flag = 1;
//Print 'box'
marker(rows, columns);
}
}
//Checks for 2 adjacent numbers.
if (board[rows][columns] == board[rows - 1][columns] || board[rows][columns] == board[rows][columns - 1])
{
flag = 0;
continue;
}
else
//Prints the correct board
{
flag = 1;
printf(" %d ", board[rows][columns]);
}
} while (flag == 0); //end outer do-while
}//end inner for-loop
printf("\n\n");
}//end outer for-loop
}//end FUNCTION drawBoard
//FUNCTION: Mark the surrounding of the number with "|" and "_" at board[5][5]
void marker(int x, int y, int** board)
{
board[x][y-1] == "\n _ ";
board[x][y+1] == "\n _ ";
board[x-1][y] == " |";
board[x+1][y] == "| ";
}
int main()
{
drawBoard();
}
TI
你有没有试过在调试器中运行这个?确保'marker'被调用? – crashmstr
由于板是int类型的? – PhillipD
是从[0,9]范围内的棋盘上的数字? – titus