P1067 多项式输出
一道有点复杂的模拟题
#include<cstdio>
using namespace std;
int a[102];
int main()
{
int n;
scanf("%d", &n);
for(int i = n; i >= 0; i--)
scanf("%d", &a[i]);
for(int i = n; i >= 0; i--)
{
if(!a[i])
continue;
if(i > 1)
{
if(a[i] < 0 && a[i] != -1)
printf("%dx^%d", a[i], i);
else if(a[i] > 0 && a[i] != 1)
{
if(i != n)
printf("+");
printf("%dx^%d", a[i], i);
}
else if(a[i] == 1)
{
if(i != n)
printf("+");
printf("x^%d", i);
}
else if(a[i] == -1)
printf("-x^%d", i);
}
else if(i == 1)
{
if(a[i] == 1 && i != n)
printf("+x");
else if(a[i] == -1 || i == n)
printf("-x");
else if((a[i] < 0 && a[i] != -1) || i == n)
printf("%dx", a[i]);
else if(a[i] > 0 && i != n && a[i] != 1)
printf("+%dx", a[i]);
}
else if(!i)
{
if(a[i] < 0 || i == n)
printf("%d", a[i]);
else if(a[i] > 0 && i != n)
printf("+%d", a[i]);
else if(a[i] == 0 && n == 0)
printf("0");
}
}
return 0;
}

浙公网安备 33010602011771号