Jhun_
2019-10-28 10:16
采纳率: 100%
浏览 1.0k

用C语言编写二元一次方程

如何编写程序,使得当我输入10x+4y=100(整组同时输入,即只输入一次回车),能给变量赋予系数的值?

1、当系数为1的情况呢?例:3x+y=10(我使用scanf()语句无法解决,现在的思路是用getchar()赋值给数组,但无法区分系数的位数以及系数属于哪个未知数)

2、当方程中有减号时,如何与数字一起赋给变量?例:x-y=10

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • console.log( ) 2019-10-28 10:21
    已采纳

    字符串输入,x之前为x的系数,需要吧字符串转为数字,若没有为1
    判断是否有‘’-‘’出现,若有标记一下(flog=1)
    y之前‘’-/+‘’之后为y的系数
    ‘’=‘’后为值
    好久没写题了,仅供参考

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 学无-止境 2019-10-28 12:45

    没看懂要干什么,你是要输入一个方程然后获取方程里面的系数吗

    评论
    解决 无用
    打赏 举报
  • dami88 2019-10-28 16:57
    #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;
    
    }
    

    }图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题