80分求助

P1067 [NOIP2009 普及组] 多项式输出

![](http://www.lfyzit.com:8888/uploads/big/dfaa73126ce428d8228f6e265236f51f.png)
by CT_Res @ 2018-10-05 17:40:51


……………………………………
by mabangjie @ 2018-11-05 13:21:06


``` if(a[i]==1&&n2==0) cout<<1; ``` 这里漏了一种情况。如果给一组输入数据: ``` 3 2 3 4 -1 ``` 你会发现输出的是 ``` 2x^3+3x^2+4x- ``` 所以应该改成 ``` if(abs(a[i])==1&&n2==0)cout<<1; ``` 如果还有错可以参考一下我的代码 ``` #include<bits/stdc++.h> using namespace std; int main() { int n,a,i; cin>>n; for(i=0;i<=n;i++) { cin>>a; if(a!=0) { if(i!=0&&a>0)cout<<'+'; if(i!=n) { if(a==-1)cout<<'-'; else if(a!=1)cout<<a; cout<<'x'; if(i!=n-1)cout<<'^'<<n-i; } else cout<<a; } } return 0; } ``` 看还有什么漏了。 这道题考的就是细心。
by 赫敏·东方延绪 @ 2019-01-26 13:57:04


|