如何编写程序,使得当我输入10x+4y=100(整组同时输入,即只输入一次回车),能给变量赋予系数的值?
1、当系数为1的情况呢?例:3x+y=10(我使用scanf()语句无法解决,现在的思路是用getchar()赋值给数组,但无法区分系数的位数以及系数属于哪个未知数)
2、当方程中有减号时,如何与数字一起赋给变量?例:x-y=10
字符串输入,x之前为x的系数,需要吧字符串转为数字,若没有为1
判断是否有‘’-‘’出现,若有标记一下(flog=1)
y之前‘’-/+‘’之后为y的系数
‘’=‘’后为值
好久没写题了,仅供参考
没看懂要干什么,你是要输入一个方程然后获取方程里面的系数吗
#include <iostream>
using namespace std;
int main()
{
int x_divisor = 0, y_divisor = 0, divisor_buf = 0, t=1;
char c = cin.peek();
while (t)
{
if(isdigit(c))
{
divisor_buf = divisor_buf * 10 +c- '0';
cin.get();
c = cin.peek();
}
else
{
switch (c)
{
case 'x':
x_divisor = divisor_buf;
divisor_buf = 0;
cin.get();
c = cin.peek();
break;
case 'y':
y_divisor = divisor_buf;
divisor_buf = 0;
cin.get();
c = cin.peek();
break;
case '\n':
t = 0;
cin.get();
break;
default:
cin.get();
c = cin.peek();
break;
}
}
}
cout << x_divisor <<"x " << y_divisor << "y " << endl;
}
}