代码如下:
#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; }