题解 | #多项式输出#

多项式输出

https://ac.nowcoder.com/acm/problem/16622

对于这个题,鼠鼠当时写了好一会,这个题我认为就是要准确的进行分类操作,首先,对于首项,系数为正数是不需要写出"+"号的,负数是要写出"-"的,对于其他项都要写出正负号,第二,就是系数是否为0,如果为0,这一项就不需要写出来,直接用continue进行下一项,如果为1,那么1是不用写出来的,系数剩下的情况就是常规情况,第三是指数问题,如果指数为1,是不需要写"^i"(i表示指数),如果指数为0,直接写出系数即可,其余的情况都是要加上"^i"。下面是鼠鼠修改后自己代码后的最终版本。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a;
	bool is_first=true;
	for(int i=n;i>=0;i--)
	{

		cin>>a;
        if(a==0)
		{
			continue;
		}
		if(!is_first&&a>0)   cout<<"+";
		else if(a<0)    cout<<"-";
		if(i==0) cout<<abs(a);
        if(i>0&&abs(a)==1) cout<<"x";
        if(i>0&&abs(a)>1) cout<<abs(a)<<"x";
		if(i>=2)  cout<<"^"<<i; 
		 
		is_first=false;
		
	}
}
全部评论

相关推荐

双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务