📋 个人简介
🎉大家好,我是3月份新人榜排名第三的 ༺金龙༒凤凰༻ 😎
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:**༺永做优质༒programmer༻**🔮
📣多项式输出
🔮题目描述
🥭一元n次多项式可用如下的表达式表示:
🥭输入格式
🥭输出格式
🌌输入输出样例
🍋输入 #1
5
100 -1 1 -3 0 10
🍋输出 #1
100x^5-x^4+x^3-3x^2+10
🍋输入 #2
3
-50 0 0 1
🍋输出 #2
-50x^3+1
💧说明/提示
💧NOIP 2009 普及组 第一题
💯CODE
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int a[n+2],b[n+2];
for(int i=0;i<=n;i++)
{
scanf("%d",&a[i]);
b[i]=n-i;
}
for(int i=0;i<=n-2;i++)
{ //这是对1到n-2项的处理
if(a[i]>0&&i>=1) //如果i==1代表是第一项,显然第一项是没必要输出“+”的。
cout<<"+";
if(a[i]!=0&&a[i]!=1&&a[i]!=-1)
{
cout<<a[i]<<"x^"<<b[i];
}
if(a[i]==1)
{
cout<<"x^"<<b[i];
}
if(a[i]==-1)
{
cout<<"-x^"<<b[i];
}
}
if(a[n-1]!=0)
{ //对第n-1项的处理
if(a[n-1]<0)
{
if(a[n-1]!=-1)
cout<<a[n-1]<<"x";
if(a[n-1]==-1)
cout<<"-"<<"x";
}
if(a[n-1]>0)
{
if(a[n-1]!=1)
cout<<"+"<<a[n-1]<<"x";
if(a[n-1]==1)
cout<<"+"<<"x";
}
}
if(a[n]!=0)
{ //对最后一项的处理
if(a[n]<0)
cout<<a[n];
if(a[n]>0)
cout<<"+"<<a[n];
}
return 0;
}