题目
可以理解为输入两个多项式,求和
输入
2 1 2.4 0 3.2
2 2 1.5 1 0.5
第一行为 k = 2,x1 = 2.4,x0 = 3.2
第二行为 k = 2,x2 = 1.5,x1 = 0.5
想法
输入的N1,N2就是数组的下标,小数就是数组内的值,弄两个数组(或是二维数组),结果加起来按格式输出就好了
代码
#include<iostream>
using namespace std;
int main(){
float a[2][10000];
float number;
int k,index,max_index=0;
int i,j;
for(i=0; i<2; i++){
cin >> k;
for(j=0; j<k; j++){
cin >> index >> number;
a[i][index] = number;
if(max_index < index)
max_index = index;
}
}
for(i=0; i <= max_index; i++)
a[0][i] += a[1][i];//结果放在a[0]
int count=0;//计数,用于最后输出
for(i=0; i <= max_index; i++)
if(a[0][i]!=0)
count++;
printf("%d", count);
for(i=max_index; i>=0; i--)//从后往前输出
if(a[0][i] != 0)
printf(" %d %.1f", i, a[0][i]);
return 0;
}