代码如下:
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n+1];
string s[n+1],s0,s1;
for(int i=0;i<n+1;i++)
{
cin>>a[i];
if(a[i]==0)continue;
stringstream ss,tt;
ss<<a[i];ss>>s0;
if(i<n)
{
int m=n-i;
if(m!=1)
{
tt<<m;tt>>s1;
if(a[i]>0&&i!=0)
s[i]="+"+s0+"x^"+s1;
else s[i]=s0+"x^"+s1;
if(a[i]==1||a[i]==-1)
{
if(s[i][0]=='1')s[i].erase(0,1);
else s[i].erase(1,1);
}
}
else
{
if(a[i]>0&&i!=0)
s[i]="+"+s0+"x";
else s[i]=s0+"x";
if(a[i]==1||a[i]==-1)
{
if(s[i][0]=='1')s[i].erase(0,1);
else s[i].erase(1,1);
}
}
}
else
{
if(a[i]>0)s[i]="+"+s0;
else s[i]=s0;
}
}
for(int i=0;i<n+1;i++)
if(s[i][0]!='0')cout<<s[i];
return 0;
}