C语言 使用 getchar 读取用户输入并创建 2D 矩阵



提示用户输入字符串。

输入: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++;
}

编辑:此代码打印(空(

经过一些进一步的改进: 它仅打印用户输入的第一个字符或前两个字符,具体取决于遇到第一个分号之前的输入数。我的打印语句在循环之外。

char matrixA[100][100];
char matrixB[100][100];
char input1, input2;
int row=0, col=0, num = 0;
printf("Enter matrix A:n");
while(input1 != 'n'){
input1 = getchar();
if((input1 > '0') && (input1 < '9') && (input1 != ' ') && (input1 != ';')){
//num = (num*10) + (input1 - '0');
matrixA[row][col] = input1; 
}  
if(input1 == ' '){
col++;
}
if (input1 == ';'){
row++;        
} 
}

相关内容

  • 没有找到相关文章

最新更新