题目内容:

一个多项式可以表达为x的各次幂与系数乘积的和,比如:

现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。

程序要处理的幂最大为100。

输入格式:

总共要输入两个多项式,每个多项式的输入格式如下:

每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。

注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某个幂次的系数为0,就不出现在输入数据中了;0次幂的系数为0时还是会出现在输入数据中。

输出格式:

从最高幂开始依次降到0幂,如:

  1. 2x6+3x5+12x3-6x+20

注意其中的x是小写字母x,而且所有的符号之间都没有空格,如果某个幂的系数为0则不需要有那项。

输入样例:

6 2

5 3

3 12

1 6

0 20

6 2

5 3

2 12

1 6

0 20

输出样例:

4x6+6x5+12x3+12x2+12x+40

题目难点分析:

多项式加减法,主要有以下难点,是一开始没考虑到的:

1. 某个多项式系数为1时,不能写成1x5,而应该是x5;

2. 某个多项式幂为1时,不能写成5x1,而应该是5x;

3. 首项前面不能加“+”号,因此需要做一个判断首项的记录;

4. 多项式只有0时输出0;

5. x的0次幂如果系数为0,则应该不输出,但我没实现出来……

以下是答案:

1 2 import java.util.Scanner; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 9 Scanner in = new Scanner(System.in); 10 11 12 int[] a = new int[10]; 13 int[] b = new int[10]; 14 boolean isfirst = true; 15 16 17 while (true) 18 { 19 int i = in.nextInt(); 20 int j = in.nextInt(); 21 a[i] = j; 22 if ( i == 0) 23 { 24 break; 25 } 26 } 27 28 while (true) 29 { 30 int i = in.nextInt(); 31 int j = in.nextInt(); 32 b[i] = j; 33 if ( i == 0) 34 { 35 break; 36 } 37 } 38 in.close(); 39 40 for (int i =0; i < a.length ; i++) 41 { 42 if ( a[i] != 0 || b[i] != 0) 43 { 44 a[i] = a[i] + b[i]; 45 } 46 } 47 for (int i = a.length-1 ; i > 0; i--) 48 { 49 if (a[i] > 0) 50 { 51 if ( isfirst) 52 { 53 isfirst = false; 54 } 55 else 56 { 57 System.out.print("+"); 58 } 59 if ( a[i] == 1) 60 { 61 if ( i ==1) 62 { 63 System.out.print("x"); 64 } 65 else 66 { 67 System.out.print("x" + i); 68 } 69 } 70 else 71 { 72 if ( i ==1) 73 { 74 System.out.print(a[i] + "x"); 75 } 76 else 77 { 78 System.out.print(a[i] + "x" + i ); 79 } 80 } 81 82 } 83 else if (a[i]<0) 84 { 85 if ( i == 1) 86 { 87 System.out.print(a[i] + "x"); 88 } 89 else 90 { 91 System.out.print(a[i] + "x" + i ); 92 } 93 } 94 } 95 if ( a[0] != 0 && isfirst==false) 96 { 97 System.out.print("+" + a[0]); 98 } 99 else 100 { 101 System.out.print(a[0]); 102 } 103 } 104 }

转载于:https://www.cnblogs.com/zhong717/p/5077980.html

第四章(数组) 编程题 1相关推荐

  1. 尚学堂Java学习第四章课后编程题作业参考答案

    我只是一个学习java 的初学者哈哈哈,代码写的都很烂,望大佬们指点指点. #尚学堂第三章:java面向对象基础 ##课后作业编程题一: 题目:1. 编写 Java 程序用于显示人的姓名和年龄.定义 ...

  2. Web前端开发精品课HTML CSS JavaScript基础教程第十四章课后编程题答案

    编程题: 下面有一段代码,请在这段代码的基础上使用正确的选择器以及这两章学到的字体样式.文本样式来实现图14-13所示的效果. <!DOCTYPE html> <html> & ...

  3. Web前端开发精品课HTML CSS JavaScript基础教程第四章课后编程题答案

    编程题 利用这一章学到的各种文本标签,把图4-25所示的网页效果做出来. 用VS2013新建ASP.NET空网站,添加新项,建立HTML文件,向其加入以下代码: <!DOCTYPE html&g ...

  4. java程序设计娄不夜_Java程序设计(第2版)娄不夜 第四章课后编程题参考答案

    纯属手打,如有错误,还请见谅. 以下代码仅供参考,自己写的,如有错误,还请见谅. 1. 文件名:Rectangle.java public class Rectangle{ int width,hei ...

  5. Java基础学习——第十四章 网络编程

    Java基础学习--第十四章 网络编程 一.网络编程概述 计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机可以方便地互相传递信 ...

  6. 速学堂第七章作业编程题答案(自写)

    速学堂第七章作业编程题答案 1. 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出&q ...

  7. C primer plus 第四章课后编程练习答案笔记解释整理

    第四章的编程练习: 1.编写一个程序,提示用户输入名和姓,然后以"名,姓"的格式打印. 编程分析: 程序功能是读取用户输入的字符串,并且重新格式化输出.应该针对名和姓分别定义对应的 ...

  8. 第二十四章 并发编程

    第二十四章 并发编程 爱丽丝:"但是我不想进入疯狂的人群中" 猫咪:"oh,你无能为力,我们都疯了,我疯了,你也疯了" 爱丽丝:"你怎么知道我疯了&q ...

  9. 【C Primer Plus第二章课后编程题】

    [C Primer Plus第二章课后编程题] 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.1 #include <stdio.h> int main (void) ...

  10. 《软件方法》第四章 自测题

    UMLChina软件方法各章练习题自测(四) 关于UMLChina 前言 温习回顾 <软件方法>第四章自测题 自测题1 自测题2 关于UMLChina 前言 笔者为在校大三生,初次接触UM ...

最新文章

  1. SQL查询效率:100w数据查询只需要1秒钟
  2. 我弥留之际 - 许立志 (珍藏)
  3. java multimap 序列化_C++ JSON库的使用
  4. Qt笔记-Qt获取百度下拉推荐词
  5. django mysql开发_基于django框架web项目实战开发四 django+mysql实现增删查改功能
  6. 再见了SpringMVC!这个框架有点厉害,甚至干掉了Servlet!
  7. 【Ant Design Vue】封装导出Excel文件的功能模块到ele-pro-table
  8. android自带网页提供,Android调用系统自带浏览器打开网页的实现方法
  9. 物联网工程专业该怎么学?老学长吐血整理!!
  10. beyond compare密钥
  11. 如何结束python程序_python程序结束
  12. php添加页脚,WordPress网站页脚footer.php修改图文教程
  13. 异常检测中的浅层模型与深度学习模型综述(A Unifying Review of Deep and Shallow Anomaly Detection)
  14. 自研数据分析工具——yandas系列一:分析泰坦尼克号沉船事件中的乘客信息表
  15. 无法安装net framework 3.5 的解决方法
  16. tensorflow语义分割计算mIoU时忽略某一类别
  17. 西门子1200PLC程序恒压供水系统
  18. Crowded Cows(洛谷P3088)
  19. 最新Java开发进阶!我的华为面试经历分享,请查收
  20. 起诉中介的民事诉讼状

热门文章

  1. JVM-绘图展现字节码执行引擎执行过程
  2. 090723 T Code Generate 的思考
  3. asp.net学习之ado.net(无连接模式中的DataAdapter)
  4. Mac OS X 安装protobuf
  5. php iis 手动安装教程,iis php安装教程【图文详解】_后端开发
  6. 使用python 启动一个web服务
  7. java.lang.IllegalArgumentException: An invalid character [10] was present in the Cookie value
  8. php mac windows,苹果电脑是windows系统吗
  9. 【渝粤教育】国家开放大学2018年秋季 0714-21T建筑识图与CAD 参考试题
  10. 【渝粤教育】国家开放大学2018年春季 0008-21T简明现代汉语 参考试题