#include<iostream>
using namespace std;
int main() {
int a,t=0;
cin>>a;
int b[100];
for(int i=0; i<100; i++) cin>>b[i];
if(b[0]!=1&&b[0]!=-1)
cout<<b[0]<<"x^"<<a--;
else {
if(b[0]==1)cout<<"x^"<<a--;
if(b[0]==-1)cout<<"-x^"<<a--;
}
for(int i=1; i<100&&a>1; i++) {
if(b[i]==0)--a;
else {
if(b[i]!=1&&b[i]!=-1) {
if(b[i]>0)cout<<"+"<<b[i]<<"x^"<<a--;
if(b[i]<0)cout<<b[i]<<"x^"<<a--;
}
if(b[i]==1)cout<<"+x^"<<a--;
if(b[i]==-1)cout<<"-x^"<<a--;
}
t=i;
}
if(a==1){
while(a) {
if(b[t+1]==0){t++;a--;}
else {
if(b[t+1]!=1&&b[t+1]!=-1) {
if(b[t+1]>0){cout<<"+"<<b[t+1]<<"x";t++;a--;}
if(b[t+1]<0){cout<<b[t+1]<<"x";t++;a--;}
}
if(b[t+1]==1){cout<<"+x";a--;t++;}
if(b[t+1]==-1){cout<<"-x";a--;t++;}
}
}
}
if(a==0){
while(!a) {
if(b[t+1]==0){t++;a--;}
else {
if(b[t+1]!=1&&b[t+1]!=-1) {
if(b[t+1]>0){cout<<"+"<<b[t+1];a--;}
if(b[t+1]<0){cout<<b[t+1];a--;}
}
if(b[t+1]==1){cout<<"+"<<1;a--;}
if(b[t+1]==-1){cout<<-1;a--;}
}
}
}
}
7,9,10re,不知道哪错了,求大佬解答
点7的输入
40
1 0 5 -2 -1 -5 4 -2 -4 1 -2 -5 4 2 -4 5 -4 -3 0 -4 -4 -1 -5 -3 3 1 5 1 5 2 4 2 0 2 -3 3 5 -2 3 -2 1
输出
x^40+5x^38-2x^37-x^36-5x^35+4x^34-2x^33-4x^32+x^31-2x^30-5x^29+4x^28+2x^27-4x^26+5x^25-4x^24-3x^23-4x^21-4x^20-x^19-5x^18-3x^17+3x^16+x^15+5x^14+x^13+5x^12+2x^11+4x^10+2x^9+2x^7-3x^6+3x^5+5x^4-2x^3+3x^2-2x+1
我的显示运行时错误