屎山代码
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a[n+2];
for (int i = 1; i <= n+1; i ++ ) cin >> a[i];
for (int i = n,j = 1; j <= n; i -- , j ++ )
{
if (a[j] == 0)continue;
//首项判断
if (j == 1 )
{
if(a[j] > 1 || a[j] < -1) printf("%d",a[j]);
if(a[j] == -1)printf("-");
printf("x^%d",i);
}
//中间项
if (1 < j&& j < n)
{
if(a[j] > 1)printf("+%d",a[j]);
if(a[j] < -1)printf("%d",a[j]);
if(a[j] == 1)printf("+");
if(a[j] == -1)printf("-");
printf("x^%d",i);
}
//n-1项判断
if (j == n){
if(a[j]==1)printf("+x");
else if(a[j]== -1)printf("-x");
else if(a[j] > 0)printf("+%dx",a[j]);
else printf("%dx",a[j]);
}
}
//常数项
if(a[n+1] > 0)printf("+");
if(a[n+1] != 0)printf("%d",a[n+1]);
return 0;
}
// 64 位输出请用 printf("%lld")