传送门
code
#include<bits/stdc++.h>
using namespace std;
int n,a[105];
int main()
{
scanf("%d",&n);
scanf("%d",&a[n]);
if(a[n]==1) printf("x^%d",n);
else if(a[n]==-1) printf("-x^%d",n);
else printf("%dx^%d",a[n],n);
for(int i=n-1;i>=0;i--)
{
scanf("%d",&a[i]);
}
for(int i=n-1;i>0;i--)
{
if(a[i]==0) continue;
if(i==1)
{
if(a[i]==1) printf("+x");
else if(a[i]==-1) printf("-x");
else if(a[i]>0) printf("+%dx",a[i]);
else if(a[i]<0) printf("%dx",a[i]);
continue;
}
if(a[i]==1) printf("+x^%d",i);
else if(a[i]==-1) printf("-x^%d",i);
else if(a[i]>0) printf("+%dx^%d",a[i],i);
else if(a[i]<0) printf("%dx^%d",a[i],i);
}
if(a[0]==0) return 0;
if(a[0]>0) printf("+%d",a[0]);
else printf("%d",a[0]);
return 0;
}