我把你的代码里一些可以不用的括号去了
```
include<iostream>
using namespace std;
int main()
{
int n;
int a[101];
cin>>n;
for(int i=0;i<=n;i++)
cin>>a[i];
if(n==0)
cout<<a[0];
else {
if(a[0]==0)
cout<<"";
else if(a[0]==1)
cout<<"x^"<<n;
else if(a[0]==-1)
cout<<"-x^"<<n;
else
cout<<a[0]<<"x^"<<n;
for(int i=1;i<n-1;i++)
{
if(a[i]==0)
cout<<"";
if(a[i]>0)
{
if(a[i]==1)
cout<<"+"<<"x^"<<n-i;
else
cout<<"+"<<a[i]<<"x^"<<n-i;
}
if(a[i]<0)
{
if(a[i]==-1)
cout<<"-"<<"x^"<<n-i;
else
cout<<a[i]<<"x^"<<n-i;
}
}
if(a[n-1]>0)
cout<<"+"<<a[n-1]<<"x";
else if(a[n-1]==0)
cout<<"";
else
cout<<a[n-1]<<"x";
if(a[n]>0)
cout<<"+"<<a[n]<<endl;
else if(a[n]==0)
cout<<"";
else
cout<<a[n]<<endl;
}
return 0;
}
```
然后我发现这段漏了情况
```
if(a[n-1]>0)
cout<<"+"<<a[n-1]<<"x";
else if(a[n-1]==0)
cout<<"";
else
cout<<a[n-1]<<"x";
```
我随便写几组数据:
```
2
2 -1 3
3
4 9 1 -3
```
输出分别是这样的
```
2x^2-1x+3
4x^3+9x^2+1x-3
```
出现了1x,所以会错
放链接
https://www.luogu.org/discuss/show/69695
by 赫敏·东方延绪 @ 2019-01-26 14:46:03
哦哦哦
by __01 @ 2019-03-02 11:04:13
@[赫敏·东方延绪](/space/show?uid=150391) Hhh阿里嘎多,我也是漏了这里wa的第三~
by 天然呆233 @ 2019-08-28 14:44:42