写的不是很好...还要改
特殊判断了第一个及后两个原题链接 来自洛谷https://www.luogu.com.cn/problem/P1067
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i, j, t;
int n;
scanf("%d", &n);
int a;
i = n;
scanf("%d", &a);
if (a == 0);
else if (a == 1)
{
printf ("x^%d", i);
}
else if (a == -1)
{
printf ("-");
printf ("x^%d", i);
}
else if (a > 0)
{
printf ("%d", a);
printf ("x^%d", i);
}
else if (a < 0)
{
printf ("%+d", a);
printf ("x^%d", i);
}
for (i = n-1; i >= 1; i--)
{
scanf("%d", &a);
if (a == 0) continue;
if (a == 1) printf ("+");
else if (a == -1) printf ("-");
else printf ("%+d", a);
printf ("x");
if (i >= 2) printf ("^%d", i);
}
scanf("%d", &a);
if (a) printf ("%+d", a);
return 0;
}