importjava.util.Scanner;/** 一个多项式可以表达为x的各次幂与系数乘积的和,比如:

2x6+3x5+12x3+6x+20

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

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

输入格式:

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

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

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

输出格式:

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

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*/

public class多项式加法

{public static voidmain(String[] args)

{//TODO Auto-generated method stub

int[] a=new int[101];//用来存放第一个多项式的系数

int[] b=new int[101];//用来存放第二个多项式的系数

int[] c=new int[101];//用来存放合并多项式的系数

int mi1;//第一个多项式的幂指数

int xishu1;//第一个多项式的系数

int mi2;//第二个多项式的幂指数

int xishu2;//第二个多项式的系数

int isFirstout=1;

Scanner in=newScanner(System.in);//读入第一个多项式

do{

mi1=in.nextInt();

xishu1=in.nextInt();for(int i=0;i

{if(i==mi1)

{

a[i]=xishu1;break;

}

}

}while(mi1!=0);//读入第二个多项式

do{

mi2=in.nextInt();

xishu2=in.nextInt();for(int i=0;i

{if(i==mi2)

{

b[i]=xishu2;break;

}

}

}while(mi2!=0);//合并系数

for(int i=0;i

{

c[i]=a[i]+b[i];

}//输出多项式

for(int i=100;i>1;i--)

{if(c[i]!=0)

{if(isFirstout==1)

{//当第一次输出时

if(c[i]!=1&&c[i]!=-1) //如果系数不是1和-1,直接输出系数

{

System.out.print(c[i]+"x"+i);

}if(c[i]==1) //如果系数为1,则不输出系数

{

System.out.print("x"+i);

}if(c[i]==-1) //如果系数为-1,则在前面加-号

{

System.out.print("-x"+i);

}

isFirstout=0;//更新状态

}else //不是第一次输出时

{if(c[i]>1) //如果系数大于1,则先输出一个+

{

System.out.print("+");

System.out.print(c[i]+"x"+i);

}else if(c[i]

{

System.out.print(c[i]+"x"+i);

}else if(c[i]==-1) //如果系数为-1

{

System.out.print("-x"+i);

}else if(c[i]==1) //如果系数为1

{

System.out.print("+");

System.out.print("x"+i);

}

}

}

}//判断c[1]

if(c[1]!=0)

{if(isFirstout==1) //判断是否是第一次输出

{if(c[1]!=1&&c[1]!=-1)

{

System.out.print(c[1]+"x");

}else if(c[1]==1)

{

System.out.print("x");

}else if(c[1]==-1)

{

System.out.print("-x");

}

isFirstout=0;

}//如果不是第一次输出

else{if(c[1]>1)

{

System.out.print("+");

System.out.print(c[1]+"x");

}else if(c[1]

{

System.out.print(c[1]+"x");

}else if(c[1]==1)

{

System.out.print("+");

System.out.print("x");

}else if(c[1]==-1)

{

System.out.print("-x");

}

}

}//判断c[0]

if(c[0]!=0)

{if(isFirstout==1) //判断是否为第一次输出

{if(c[0]>0)

{

System.out.print(c[0]);

}

isFirstout=0;

}//如果不是第一次输出

else{if(c[0]>0)

{

System.out.print("+");

System.out.print(c[0]);

}if(c[0]<0)

{

System.out.print(c[0]);

}

}

}else //判断输入是0 这种情况

{if(isFirstout==1)

{

System.out.print(c[0]);

}

}

}

}

翁凯java进阶_多项式加法——mooc《零基础学Java语言》-(浙大翁凯)第五周编程题...相关推荐

  1. 关于Java零基础的公众号_大学mooc零基础学Java语言答案公众号

    大学mooc零基础学Java语言答案公众号 更多相关问题 A principal decided to honor the teachers in his school to show his app ...

  2. java开发技术有什么意义,零基础学Java开发技术有哪些优势和好处?

    零基础学Java开发技术有哪些优势和好处?Java开发技术有下列优势:Java编程语言简单.面向对象集中于对象及其接口.分布式处理TCP/IP协议.鲁棒性.安全性.体系结构中立性.可移植性.解释执行. ...

  3. java实验作业11浙江大学_浙江大学MOOC零基础学java第一周作业(一)

    温度转换 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度. 程序的输入是一个整数,表示华氏温度.输出对应的摄 ...

  4. Java学习记录_1:MOOC《零基础学Java语言》课后习题解

    Hey,我是寒水,一名大二学生,电子商务专业在读,正在学习Java中.我试图将在Java学习中遇到的一些困惑和最终的解答发在这个账号上,希望以此来激励我不要放弃学习! 在学习记录这个专题中,我收藏一些 ...

  5. java无线电台RS制信号_中国MOOC_零基础学Java语言_第2周 判断_2信号报告

    2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一 ...

  6. 『零基础学Java语言-浙江大学-翁恺』第6周 使用对象

    以下为个人学习笔记和习题整理 课程:零基础学Java语言-浙江大学-翁恺 @ 中国大学MOOC https://www.icourse163.org/course/ZJU-1001541001 文章目 ...

  7. 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者

    原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...

  8. 零基础学Java语言---编程题

    零基础学Java语言-编程题 注意:没有上机实际测过,代码仅供参考 1.温度转换 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示 ...

  9. 会java需要多久能学会python_java好学吗?零基础学java要多久?

    java好学吗?零基础学java要多久? 时间:2019-05-21     来源:华清远见 2019年3月,tiOBE 公布了编程语言排行榜,正如官方所说,本月的排名几乎没有任何有趣的变化,排名前十 ...

  10. 韩顺平 2021零基础学Java 学习笔记

    韩顺平 2021零基础学Java 学习笔记(1)(自用)_丨shallow丨的博客-CSDN博客_韩顺平java笔记 韩顺平 2021零基础学Java 学习笔记(2)(自用)_丨shallow丨的博客 ...

最新文章

  1. 谈谈你对集成学习的见解与认识,描述一下它们的优势所在?
  2. 光在介质中传播速度—材料折射率变化—物理光学记录
  3. Gentoo 安装日记 17(修改/etc/fstab)
  4. HashSet和LinkedHashSet使用
  5. 如何解析属性文件(properties)获取键值对的值?
  6. python爬取一条新闻内容_自己做语料——Python爬取新闻联播文字版
  7. 以Spring Boot的方式显示图片或下载文件到浏览器
  8. 谈谈我对软件工程专业的理解
  9. AS--创建项目(慢)和打开项目(慢)等需要注意的问题
  10. windows自动更新导致:无法访问网络位置*:\Program Files(x86)
  11. 听过闰年闰月,可你听过闰秒吗?
  12. 百度AI开放平台,共建AI生态
  13. etl构建数据仓库五步法_ETL构建数据仓库五步法
  14. 幼儿-知识与能力【1】
  15. teamviewer LAN 设置代理
  16. easyui支持ie8浏览器
  17. 阿里云2017年度贡献者荣誉榜出炉
  18. 二叉树的深度和平衡二叉树的深度
  19. c语言循环程序模板,循环结构程序设计C语言程序
  20. @Slf4j注解实现日志输出

热门文章

  1. 家用冰箱里面用的抽屉模具图档分析
  2. java毕业答辩ppt_java网上商城系统毕业设计答辩.ppt
  3. 使用深度学习打造智能聊天机器人
  4. Nginx系列 (1)--Nginx安装升级打补丁
  5. 左手补贴右手社交 杀入直播红海的拼多多会有机会吗?
  6. 联想笔记本进入不了BIOS的解决方法
  7. VS2013 打包步骤
  8. 最新修复版微信H5漂流瓶V2.0更新版本 社交漂流瓶H5源码
  9. 如何正确学习软件工程
  10. 线性二次调节器(LQR)