#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i;
cin>>n;
int num1;
for(i=n;i>=1;i--)
{
cin>>num1;
if(num1!=0)
{
if(num1<0)
{
if(num1!=-1)
{
if(i!=1)
cout<<num1<<"x^"<<i;
else
cout<<num1<<'x';
}
else
{
if(i!=1) cout<<"-x^"<<i;
else cout<<"-x";
}
}
if(num1>0)
{
if(i!=n)
{
if(num1!=1)
{
if(i!=1) cout<<'+'<<num1<<"x^"<<i;
else cout<<'+'<<num1<<"x";
}
else
{
if(i!=1) cout<<"+x^"<<i;
else cout<<"+x";
}
}
else
{
if(num1!=1) cout<<num1<<"x^"<<i;
else cout<<"x^"<<i;
}
}
}
}
cin>>num1;
if(num1>0)
{
cout<<"+"<<num1;
}
else if(num1<0)
cout<<num1;
else
return 0;
}
这道题如果硬做就要考虑很多种情况,说一下最容易不过的两个点 太鹅心啦
第一个点是全为0的时候不输出
第二个点是最高项系数为1的时候输出x^n不是1x^n

京公网安备 11010502036488号