思路&逻辑
本体的原理十分简单:给出若干个系数,并依此列出多项式.如果优化的好,寥寥几行代码便可完成,本体要求是是对于判断的运用,这里有一个不需要数组的方法:输入一个输出一个.
下面先放出核心代码,然后对于其中判断词条逐一解释:
#include<bits/stdc++.h>
using namespace std;
int a,n;
int main(){
cin>>n;
for(int i=n;i>=0;i--){
cin>>a;
if(a){
if(i<n&&a>0)cout<<"+";
if(abs(a)>1||i==0)cout<<a;
if(a==-1&&i)cout<<"-";
if(i>0)cout<<"x";
if(i>1)cout<<"^"<<i;
}
}
return 0;
}
对于if(a)(如果a≠0)内的若干判断词条:
1.如果此时输出的不是第一项(即最高次数项)且系数为正数,输出+.
2.如果此时系数绝对值大于1(即系数不需要省略)或者输出的为常数项,输出此数.
3.如果此时系数为-1(需要省略系数但保留负号)且i≠0(即输出的是非常数项)输出负号.
4.如果输出的是非常数项则输出"x"
5.如果输出的是非常数项且x的次数非1则输出"^i"(i为x的次数).
完。
1168

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



