改了一下还是40.。。。
```
#include<iostream>
using namespace std;
int n,a[220];
int ans;
void p(int x){
if(x>1)cout<<"+"<<x<<"x^"<<n;
else if(x==-1)cout<<"-"<<"x^"<<n;
else if(x==1)cout<<"+"<<"x^"<<n;
else if(x<-1)cout<<x<<"x^"<<n;
else if(x==0){
n--;
return;
}
n--;
}
int main(){
int t=1;
cin>>n;
while(cin>>a[t])t++;
for(int i=1;i<=t-2;i++){
if(i==1){
if(a[i]==0)break;
cout<<a[i]<<"x^"<<n;
n--;
continue;
}
p(a[i]);
}
for(int i=1;i<=t-2;i++){
ans+=abs(a[i]);
if(ans==0){
if(a[t-1]>0){cout<<a[t-1];return 0;}
if(a[t-1]<0){cout<<a[t-1];return 0;}
}
}
if(a[t-1]>0)cout<<"+"<<a[t-1];
else if(a[t-1]<0)cout<<a[t-1];
return 0;
}
```
by better_Z @ 2023-07-04 18:43:35
当指数是一的时候,输出 $x$ 而不是 $x$ ^ ,显然您没有讨论这种情况。还有,建议您先通过样例再来讨论区
by dyyzy_qwq @ 2023-07-07 08:40:32
```c
#include<bits/stdc++.h>
using namespace std;
int main(){
//freopen("isbn.in", "r", stdin);
//freopen("isbn.out", "w", stdout);
int n,a;
cin>>n;
for(int i=n;i>=0;i--){
cin>>a;
if(a){
if(i!=n&&a>0)cout<<"+";
if(abs(a)>1||i==0)cout<<a;
if(a==-1&&i)cout<<"-";
if(i>1)cout<<"x^"<<i;
if(i==1)cout<<"x";
}
}
//fclose(stdin);
//fclose(stdout);
}
```
by 3_1415926 @ 2023-07-21 21:55:24
@[3_1415926](/user/1044555) 你抄题解你叫什么
by runcatchday @ 2023-07-22 12:12:32
@[runcatchday](/user/1025371) ?抄的是哪一篇?
by Tjaweiof @ 2023-07-24 16:38:45
@[Tjaweiof](/user/550933) 自己看第一篇题解啊
by runcatchday @ 2023-07-24 17:23:28
@[runcatchday](/user/1025371) 我去,加个文件输入输出都看不出来了……
by Tjaweiof @ 2023-07-24 21:49:33
@[Tjaweiof](/user/550933) 他前面还发了个帖说自己乱写竟然ac了,我都想给它骂死
by runcatchday @ 2023-07-24 22:10:14