【发布时间】:2018-06-12 22:58:53
【问题描述】:
提示用户输入字符串。
输入:1 2 3; 4 5 6; 7 8 9
输出:
1 2 3
4 5 6
7 8 9
同一行中的条目由一个空格分隔。行用分号和空格分隔。我需要使用 getchar 函数手动解析输入行,以便我可以创建此矩阵并对其进行其他操作。
甚至不知道从哪里开始。我正在考虑使用每次读取分号时递增的循环。但是我真的一点都不知道getchar怎么用!
while((input1 = getchar())!= '\n')
{
if((input1 > '0') || (input1 < '9')){
matrixA[row][col] = input1;
if(input1 == ' '){
col++;
matrixA[row][col] = input1;
}
if(input1 == ';'){
matrixA[row][col]=input1;
row++;
}
编辑:此代码打印(空)
【问题讨论】:
-
我将从一个更简单的任务开始。创建一维数组。使用
getchar填充它。然后使用printf显示它。 -
如果您想读取多个字符,循环可能是个好主意。请注意
getchar返回一个int。当您要检查错误和文件结尾(或您的情况下的输入结尾)时,这一点非常重要。 -
你为什么需要使用
getchar()——这是课堂练习的要求吗?这可能不是一个好的选择,除非你的手被你的导师束缚住了,或者你确定所有的数字都是个位数。 -
至于从哪里开始:从定义一个矩阵开始——你的变量
matrixA不是(根据术语的任何合理定义)一个矩阵。如果你不知道该怎么做,你需要去读教科书。 -
必须使用getchar,所有输入都假定为最多6位的正数。
标签: c matrix multidimensional-array user-input getchar