【发布时间】:2017-02-19 10:42:31
【问题描述】:
您好,我正在尝试为用户输入矩阵大小和值编写代码。我对设置矩阵大小和值有所了解,但我想一次读取一行,这样我就不必在输入单个值后每次都按 enter。到目前为止,这是我的代码。谢谢。
int row, col, i, j;
int mat[10][10];
printf("Enter number of rows: ");
scanf("%d", &row);
printf("Enter number of columns: ");
scanf("%d", &col);
for (i = 0; i < row; ++i) {
for (j = 0; j < col; ++j) {
scanf("%d", &mat[i][j]);
}
}
printf("\nHere is your matrix:\n");
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
printf("%d\t", mat[i][j]);
}
printf("\n");
}
【问题讨论】:
-
您可以使用空格分隔符输入。
-
尝试给予例如
1 2 3 4 5作为输入单行..."%d"格式和scanf读取的内容实际上是空格分隔 十进制数。换行符是空格,普通空格也是。 -
您也可以在 StackOverflow 上搜索 C 数组 scanf 用户输入 并提供 1000 个示例
:) -
哦,行得通。我从来没有这样想过。谢谢!
-
为了在调试代码时减少输入,您还可以简单地创建一个包含值的文本文件并将其重定向为代码的输入(例如
./yourprog < yourdata.txt)