题解带思路
2024-01-22 09:39:51
发布于:上海
15阅读
0回复
0点赞
代码呈现
#include<iostream>
#include<cmath>
using namespace std;
int main(){
    int n;
    cin>>n;
    int xishu;
    cin>>xishu;
    if(xishu!=0){
        if(xishu!=1&&xishu!=-1)cout<<xishu;
        if(xishu==-1)cout<<"-";
        if(abs(xishu)==1&&n==0)cout<<1;
        if(n>0)cout<<"x";
        if(n>1)cout<<"^";
        if(n>1)cout<<n;
    }
    while(n){
        n--;
        cin>>xishu;
        if(xishu!=0){
            if(xishu>0)cout<<"+";
            if(xishu!=1&&xishu!=-1)cout<<xishu;
            if(xishu==-1)cout<<"-";
            if(abs(xishu)==1&&n==0)cout<<1;
            if(n>0)cout<<"x";
            if(n>1)cout<<"^";
            if(n>1)cout<<n;
        }
    }
    return 0;
}
思路分析
首先,我们可以判断系数是否为0,如果是,则不输出任何东西
其次,我们要看系数是否为±1,如果不是,则照常输出系数
如果是,分为两种情况,一种是指数为0,那么是照常输出的
另一种是指数不为0,都知道1作为未知数系数时省略,所以不输出
接着我们看指数,指数为0时不输出x和^0,因此这里要做个判断
还有指数的特别情况是指数为1,是不输出x^1而单独输出x的,再做个判断
其余照常
这里空空如也







有帮助,赞一个