#include
int main() {
int a[4][4];
int i, j;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d", a[i][j]);
if (j == 3)
printf("\n");
}
}
return 0;
}
我输1 1 1 1 1 1 1 1 1 ,每输入1就按空格键,输完后按回车,显示屏会换到下一行,没有运算结果,这是怎么回事;二维数组数输入数字时,每输完一行时需要按回车键换行吗
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在输入1 1 1 1 1 1 1 1 1时,您的输入方式是正确的,每输入一个数字按空格键分割,当一行输入完成后按回车键表示这一行输入结束。在输出结果时,由于您使用的是printf函数,缺少换行符"\n"。所以结果输出在同一行上了。将printf("%d", a[i][j])修改为printf("%d ", a[i][j])即可在数字后输出一个空格符,使得结果每个数字之间都有空格分割,更加清晰易读。同时,在每行结束时,需要加上一个换行符,即将printf("\n")放在if语句的外部即可。
-
在输入二维数组时,每输入一行数字后需要按回车键换行,表示这一行输入完成。如果不按回车键,程序会将所有的数字都视为同一行输入,导致结果不正确。