gpt4 book ai didi

c - 输入并打印二维数组

转载 作者:行者123 更新时间:2023-11-30 19:09:58 24 4
gpt4 key购买 nike

我刚刚开始深入研究二维数组,但我遇到了一些麻烦,为什么我的输出产生一行数据而不是维度矩阵。感谢所有帮助!谢谢你!!

我的代码:

#include <stdio.h>
#include <stdlib.h>

int main() {

int x, y, i, j;
int m[10][10];


setvbuf(stdout, NULL, _IONBF, 0);

while (1) {
printf("Number of rows? ");
scanf("%d", &x);
if (x == 0)
break;
printf("Number of columns? ");
scanf("%d", &y);

printf("Enter matrix values row by row: \n");
for (i = 0; i < x; i++) {
for (j = 0; j < y; j++) {
scanf("%d", &(m[i][j]));
}
}
printf("Matrix read:\n");
for (i = 0; i < x; i++) {
for (j = 0; j < y; j++) {
printf("%d", m[i][j]);
}
}

估算数据:

Number of rows? 2
Number of columns? 2
Enter matrix values row by row:
1 2 3 4

输出:

Matrix read:
1234

最佳答案

要找出当前程序打印该行的原因,请遍历打印循环,并查看打印值的所有点。

你会注意到它会是这样的:

print "1", print "2", print "3", print "4".

所以,程序就是这么做的。它打印数字时没有任何其他“格式”。

你可以这样做:

printf("Matrix read:\n");
for (i = 0; i < x; i++) {
for (j = 0; j < y; j++) {
printf("%d ", m[i][j]);
}
printf("\n");
}

请注意,“%d”中的数字后面有一个空格。然后,请注意,在每个内部 for 循环(对应于一行)之后都会打印一个新行。

注意:您可能想使用更具描述性的名称。例如:row 而不是 xcolumn 而不是 y

关于c - 输入并打印二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42171498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com