一、题目部分
选自洛谷:
二、解题过程
思路
根据题目给的要求,按照不同条件进行判断并对多项式进行输出:
(1)当系数等于0时,直接跳过不输出该项式;
(2)当系数大于0时,分为该项为最高次的项时、该项为0次项、该项为1次项和其他项进行讨论;
(3)当系数小于0时,同理。
(细节见“提交AC答案”部分代码)
提交AC答案
#include<bits/stdc++.h>
using namespace std;
int n;//表示一元多项式的次数
int a[102];//存储每次项的系数
int main()
{
scanf("%d",&n);
for(int i=0;i<=n;i++)
scanf("%d",&a[i]);
for(int i=0;i<=n;i++)
{
// for(int j=n;j>=0;j--)
// {
if(a[i]==0)
continue;
else if(a[i]>0)
{
if(i==0)
{
if(a[i]==1)
cout<<"x^"<<n-i;
else
cout<<a[i]<<"x^"<<n-i;
}
else if(i==n)
cout<<"+"<<a[i];
else if(i==n-1)
{
if(a[i]==1)
cout<<"+"<<"x";
else
cout<<"+"<<a[i]<<"x";
}
else
{
if(a[i]==1)
cout<<"+"<<"x^"<<n-i;
else
cout<<"+"<<a[i]<<"x^"<<n-i;
}
}
else
{
if(i==0)
{
if(a[i]==-1)
cout<<"-x^"<<n-i;
else
cout<<a[i]<<"x^"<<n-i;
}
else if(i==n)
cout<<a[i];
else if(i==n-1)
{
if(a[i]==-1)
cout<<"-x";
else
cout<<a[i]<<"x";
}
else
{
if(a[i]==-1)
cout<<"-x^"<<n-i;
else
cout<<a[i]<<"x^"<<n-i;
}
}
// }
}
return 0;
}