问题标题: 酷町堂:4832 打印一元三次方程

0
0
已解决
周建勋
周建勋
中级光能
中级光能

题目描述 Description

一元二次方程的形式为ax3+bx2+cx+d。其中a、b、c、d分别是三次项二次项一次项和零次项前的系数。现在需要将这个多项式打印出来。
需要注意,当系数为0时,这一项应该直接省略不写;如果系数为1,则系数应当不写。二次项不会为0。

输入描述 Input Description

四个空格隔开的整数,a b c d

输出描述 Output Description

一个形如ax^3+bx^2+cx+d的多项式

样例输入 Sample Input


 

0 -1 -1 0

样例输出 Sample Output


 

-x^2-x

周建勋在2020-02-27 16:11:07追加了内容
#include <iostream>
#include <cmath>
using namespace std;
int main() {
    int n, t, p;
    bool f = true;
    cin >> n;
    p = n;
    for(int i=1; i<=n+1; i++) {
        cin >> t;
        if(t==0) {
            p --;
            continue;
        }
        if(t<0) cout << "-";
        if(t>0 && !f) {
            cout << "+";
        }
        if(abs(t)!=1 || p==0) cout << abs(t);
        if(p>0) cout << "x";
        if(p>1) cout << "^" << p;
        p --;
        f = false;
    }
    return 0;
}哪错了?

 


0
已采纳
王子健
王子健
初级天翼
初级天翼

@周建勋 你的代码没有什么大错误

只需要改几个点 :

1.    

把cin>>n删除,p=n 改为 p=3

2.

i<=n+1 改为 i<=4

改过即可AC

望采纳

0
0
缪鲲鹏
缪鲲鹏
新手光能
新手光能

多项式输出

根据题目要求打印就行了

注意事项:

1.开头不能是"+"

2.系数为0不输出

3.系数为1则只输出x的次方(系数为-1只要输出"-",1省略)

题目很简单,只不过坑太多了而已,耐下性子写,很容易的

我要回答