先讨论0的时候,再讨论1的时候以及在首和尾的时候,最后正常情况,我用的是“符号+数字”来排的。
#include<stdio.h>
#include<math.h>
int main()
{
int n,a[1000];
int i;
scanf("%d",&n);
for(i=0;i<n;i++) //输入系数//
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]==0) //判断是否为0,为0则跳过//
{
continue;
}
else if(fabs(a[i])==1) //讨论系数为1的时候//
{
if(a[i]<0) //为负数时//
{
printf("-");
}
else if(a[i]>0&&i!=0) //为正数时且不为首位的时候前面加个"+"//
{
printf("+");
}
if(i==n-1) //末尾时//
{
printf("x");
}
else //中间状态//
{
printf("x^%d",n-i);
}
}
else
{
f(a[i]>0&&i!=0) //中间状态//
{
printf("+");
}
if(i==n-1) //同样末尾时//
{
printf("%dx",a[i]);
}
else
{
printf("%dx^%d",a[i],n-i);
}
}
}
return 0;
}
0.0分
1 人评分