我想尝试让用户将行输入到特定矩阵(维度是用户定义的,最大为15x15)到字符串中。然后,我想尝试扫描此字符串中的空格量,以确保如果用户指定了5列,则用户每行只输入5个条目。因此,如果用户指定5x5矩阵,他应该输入一行:
1 2 3 4 5。
然后在下一个,
6 7 8 9 10等等。
每行输入应对应一行。因此,如果空格量超过4,我将知道用户输入的数量超过了每行的数量。然后,我想以某种方式在读取所有行之后对此字符串进行分段,并将其转换为2d整数数组,以使其有资格进行矩阵加法或乘法。 如果问题描述有意义,有没有人提示如何做到这一点?
答案 0 :(得分:0)
假设您有一个字符串数组:
char string[N];
int spaces_num=0,i=0,last_spaces=0;
while(true)
{
scanf('%s',string);//Perhaps ma need a better way to read user input
//loop the folowing code until user not needed for user input
while(string[i]!=='\0' && i < N)
{
if(string[i]==' ') spaces_num++;
i++;
}
if(last_spaces>0 && spaces_num!=last_spaces)
{
break;
}
else
{
last_spaces=spaces_num;
}
}
我希望它的工作原理上面的代码可能需要修复,但它只是提出解决方案的想法。不要太字面意思。