简单的模拟题,一样是注意不要漏条件。要关注的有这几个点,一是n次项系数为正不要加号,二是常数项不要有x,三是一次项不需要“x^1”,四是注意系数的正、负和为+1、-1、0的特殊判断。
#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
using namespace std;
void solve()
{
int n,t,i;
cin>>n;
i=n;
cin>>t;
if(t!=0)
{
if(t==1)cout<<"x^"<<i;
else if(t==-1)cout<<"-x^"<<i;
else cout<<t<<"x^"<<i;
}
while(n--)
{
i--;
cin>>t;
if(t==0)continue;//为0跳过这项
if(n==0)//最后常数项
{
if(t>0)cout<<'+'<<t;
else if(t<0)cout<<t;
}
else if(n==1)//一次项
{
if(t==1)cout<<"+x";
else if(t==-1)cout<<"-x";
else if(t>0)cout<<'+'<<t<<"x";
else if(t<0)cout<<t<<"x";
}
else
{
if(t==1)cout<<"+x^"<<i;
else if(t==-1)cout<<"-x^"<<i;
else if(t>0)cout<<'+'<<t<<"x^"<<i;
else if(t<0)cout<<t<<"x^"<<i;
}
}
}
int main()
{
IOS;
solve();
return 0;
}