70分求助
查看原帖
70分求助
481075
920106840507sd楼主2021/3/4 00:10
#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
我的显示运行时错误
2021/3/4 00:10
加载中...