题目要求:
代码如下:
import java.util.Scanner;
public class Homework_one {
public static void main(String[] args) {
int[] ratio_one = new int[101];
int[] ratio_two = new int[101];
int[] sum_ratio = new int[101];
Scanner in = new Scanner(System.in);
System.out.println("请输入第一个多项式:");
int mi = in.nextInt();
int xishu = in.nextInt();
while(mi!=0) {
ratio_one[mi] = xishu;
mi = in.nextInt();
xishu = in.nextInt();
}
ratio_one[mi] = xishu;
System.out.println("第一个多项式输入完毕!");
System.out.println("请输入第二个多项式:");
mi = in.nextInt();
xishu = in.nextInt();
while(mi!=0) {
ratio_two[mi] = xishu;
mi = in.nextInt();
xishu = in.nextInt();
}
ratio_two[mi] = xishu;
System.out.println("第二个多项式输入完毕!");
//遇到负数会输出+-
// for(int i=0;i<101;i++) {
// sum_ratio[i] = ratio_one[i]+ratio_two[i];
//
// System.out.println("系数为:"+sum_ratio[i]);
// }
//
// for(int i=100;i>-1;i--)
// {
// if(sum_ratio[i]!=0) {
// if(i!=0&&i!=1)
// {
// System.out.print(sum_ratio[i]+"x"+i+"+");
// }
// if(i==1)
// {
// System.out.print(sum_ratio[i]+"x"+"+");
// }
// if(i==0) {
// System.out.print(sum_ratio[i]);
// }
// }
//
// }
//修改过的代码:
String[] sum = new String[101];
int count = 100;
for(int i=0;i<101;i++) {
sum_ratio[i] = ratio_one[i]+ratio_two[i];
}
for(int i=100;sum_ratio[i]==0;i--) {
count--;
}
System.out.print(sum_ratio[count]+"x"+count);
for(int i=0;i<count;i++)
{
if(sum_ratio[i]>0) {
sum[i] = "+"+sum_ratio[i];
}
if(sum_ratio[i]<0) {
sum[i] = ""+sum_ratio[i];
}
}
for(int i=count-1;i>-1;i--) {
if(sum_ratio[i]!=0) {
if(i!=0&&i!=1)
{
System.out.print(sum[i]+"x"+i);
}
if(i==1)
{
System.out.print(sum[i]+"x");
}
if(i==0) {
System.out.print(sum_ratio[i]);
}
}
}
//最高次幂为正数时多了+
// String[] sum = new String[101];
//
// for(int i=0;i<101;i++) {
// sum_ratio[i] = ratio_one[i]+ratio_two[i];
//
// if(sum_ratio[i]>0) {
// sum[i] = "+"+sum_ratio[i];
// }
// if(sum_ratio[i]<0) {
// sum[i] = ""+sum_ratio[i];
// }
// }
//
// int i=0;
//
// for(i=100;sum_ratio[i]!=0;i--)
// {
// System.out.print(sum_ratio[i]+"x"+i);
// }
//
// for(int j=i-1;j>-1;j--)
// {
// if(sum_ratio[j]!=0) {
// if(j!=0&&j!=1)
// {
// System.out.print(sum[j]+"x"+j);
// }
// if(j==1)
// {
// System.out.print(sum[j]+"x");
// }
// if(j==0) {
// System.out.print(sum_ratio[j]);
// }
// }
//
// }
}
}