原题链接:蓝桥杯算法提高VIP-多项式输出
import java.util.Scanner;
public class Main {
/**
* @param BoyHonest
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int a;
for (int i = n; i >= 0; i--) {
a = input.nextInt();
if (i == n)// 如果是n次项
{
if (Math.abs(a) == 1)// 系数可能是 +1 -1
{
if (a < 0)
System.out.print("-");
;// 如果为-1则输出“-”号 否则不输出
} else {
if (a > 0)
System.out.print(a);// 正常情况下输出a
if (a < 0)
System.out.print(a);
}
} else if (i != n)// 不是n次项
{
if (i == 0)// 如果是最后一项
{
if (a > 0)
System.out.print("+" + a);// 正数输出“+”号再输出数字
if (a < 0)
System.out.print(a);// 负数直接输出
} else// 其他情况
{
if (Math.abs(a) == 1)// 如果系数为+1 或者-1
{
if (a < 0)
System.out.print("-");
;// 输出“+”号或者“-”号
if (a > 0)
System.out.print("+");
;
} else {
if (a > 0)
System.out.print("+" + a);
;// 否则正常输出
if (a < 0)
System.out.print(a);
}
}
}
if (i != 0)// 如果系数不为0 输出指数项
{
if (a!=0){
if(i==1)System.out.print("x");// 指数为1的时候只需要输出x
else
System.out.print("x^" + i);
;
}
}
}
}
}解题思路:借鉴的,仔细分析能看懂 ; debug一下, 当系数为0时,不去管它;
QQ号 1422682170 欢迎讨论 ```````````````
注意事项:
参考代码:
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复