<pre class="cpp" name="code">//4_3_1: Polynomial Showdown 给出从8到0的多项式系数,然后输出 POJ1555 ZOJ1720
#include <stdio.h>
int main()
{
int a[9];
int i,j;
while(scanf("%d",&a[8]) != EOF)
{
for(i = 7;i >= 0;i --) scanf("%d",&a[i]);
j = 8;
while(j >= 0 && a[j] == 0) j --;
if(j == -1)
{
printf("0\n");
continue;
}
if(j == 0)
{
printf("%d\n",a[j]);
continue;
}
if(j == 1)
{
if(a[1] == 1) printf("x");
else if(a[1] == -1) printf("-x");
else printf("%dx",a[1]);
if(a[0] != 0)
{
if(a[0] > 0) printf(" + %d",a[0]);
else printf(" - %d",-a[0]);
}
printf("\n");
continue;
}
if(a[j] == 1) printf("x^%d",j);
else if(a[j] == -1) printf("-x^%d",j);
else printf("%dx^%d",a[j],j);
j --;
for(i = j;i >= 2;i --)
{
if(a[i] == 0) continue;
if(a[i] == 1) printf(" + x^%d",i);
else if(a[i] == -1) printf(" - x^%d",i);
else if(a[i] > 0) printf(" + %dx^%d",a[i],i);
else printf(" - %dx^%d",-a[i],i);
}
if(a[1] != 0)
{
if(a[1] == 1) printf(" + x");
else if(a[1] == -1) printf(" - x");
else if(a[1] > 0) printf(" + %dx",a[i]);
else printf(" - %dx",-a[i]);
}
if(a[0] != 0)
{
if(a[0] > 0) printf(" + %d",a[0]);
else printf(" - %d",-a[0]);
}
printf("\n");
}
return 0;
}
/*测试结果:通过POJ1555 ZOJ1720检测
0 0 0 0 0 0 0 0 0
0
-1 2 3 4 5 6 7 8 9
-x^8 + 2x^7 + 3x^6 + 4x^5 + 5x^4 + 6x^3 + 7x^2 + 8x + 9
0 0 0 0 0 0 0 -23 0
-23x
0 0 0 1 22 -333 0 1 -1
x^5 + 22x^4 - 333x^3 + x - 1
请按任意键继续. . .
*/
POJ1555 ZOJ1720 Polynomial Showdown
最新推荐文章于 2022-04-04 23:13:04 发布
该程序用于根据输入的多项式系数生成对应的表达式,支持从8次到0次的多项式。它读取每个项的系数,并排除值为0的项,然后输出简洁的多项式形式。

511

被折叠的 条评论
为什么被折叠?



