用c语言在二维数组中写入值
作为C和这个网站的新手,我不熟悉我遇到的这个问题。我有一个包含[8][8]个元素的二维数组。我试图让用户在数组中输入数字,直到完成为止。这个项目还远未结束,但我还没来得及继续,就被这个问题困住了。基本上,我使用for循环让用户输入每个元素。但是,当第一行完成时,它会将最后一个值覆盖到第一列第二行元素点上。如何防止这种情况发生:以下是我的代码:用c语言在二维数组中写入值,c,arrays,C,Arrays,作为C和这个网站的新手,我不熟悉我遇到的这个问题。我有一个包含[8][8]个元素的二维数组。我试图让用户在数组中输入数字,直到完成为止。这个项目还远未结束,但我还没来得及继续,就被这个问题困住了。基本上,我使用for循环让用户输入每个元素。但是,当第一行完成时,它会将最后一个值覆盖到第一列第二行元素点上。如何防止这种情况发生:以下是我的代码: #include <stdio.h> #include <string.h> int Check_rules(); void
#include <stdio.h>
#include <string.h>
int Check_rules();
void Print_Array(int array[][8], int size)
{
int i, j;
for (i = 0; i <= size; i++)
{
printf("\n");
for (j = 0; j <= size; j++)
{
printf("%d ",array[i][j]);
}
}
printf("\n\n");
}
int main()
{
int size = 8;
int i, j;
int fullArray[size][size];
int grid1[3][3];
int grid2[3][3];
int grid3[3][3];
int grid4[3][3];
int grid5[3][3];
int grid6[3][3];
int grid7[3][3];
int grid8[3][3];
int grid9[3][3];
for (i = 0; i <= size; i++)
{
for (j = 0; j <= size; j++)
fullArray[i][j] = 0;
}
printf("Want to play a game? Enter values 1-9 starting in row 1 column 1, \nand we will work our way from there. Here's the playing board.\nIt's Sudoku, so follow the rules of the game.\n\n");
for (i = 0; i <= size; i++)
{
printf("\n");
for (j = 0; j <= size; j++)
printf("%d ",fullArray[i][j]);
}
printf("\n\n");
int tmp;
char *keeper = (" ");//space for marker
for (i = 0; i <= size; i++)
{
for (j = 0; j <= size; j++)
{
printf("Enter first value(press 0 and ENTER to skip a box, \nand -1 to cancel game): ");
scanf("%d", &tmp);
if(tmp == -1)
return 0;
fullArray[i][j] = tmp;
Print_Array(fullArray,size);
}
}
return 0;
}
#包括
#包括
int Check_rules();
无效打印_数组(整数数组[][8],整数大小)
{
int i,j;
对于(i=0;i所有的地方,请共享您的实际代码。这至少有一个语法错误。(请修复您的代码缩进!)ii
抱歉,我现在更新了。哦,我明白了。谢谢您的评论!我会尝试的out@Nack太好了!那就接受这个答案吧。当然!谢谢!
#include <stdio.h>
#include <string.h>
void printArray(int size, int array[][size]) {
for (int i = 0; i < size; i++) {
printf("\n");
for (int j = 0; j < size; j++) {
printf("%d ", array[i][j]);
}
}
printf("\n\n");
}
int main() {
int size = 8;
int fullArray[size][size];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
fullArray[i][j] = 0;
}
}
printf("Enter values in row 1 column 1, and we will work our way from there. Here's the playing board. \n\n");
printArray(size, fullArray);
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
printf("Enter first value (press 0 and ENTER to skip a box, or -1 to cancel game): ");
int number;
scanf("%d", &number);
if(number == -1) {
return 0;
}
fullArray[i][j] = number;
printArray(size, fullArray);
}
}
return 0;
}