原题链接:蓝桥杯算法提高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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复