地址 https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000
题目大意是
输入两个多项式的变量参数和变量指数
按照指定规则显示出来
Sample Input:
2 1 2.4 0 3.2
2 2 1.5 1 0.5
Sample Output:
3 2 1.5 1 2.9 0 3.2
解答
开启double数组 记录Ni为索引的aNi系数
然后将两者相加记录.PAT对 格式要求很严,还有边界情况,需要注意
#include <iostream> using namespace std; double arrA[1010]; double arrB[1010]; int k1, k2; int main() { scanf("%d", &k1); for (int i = 0; i < k1; i++) { int idx; scanf("%d", &idx); scanf("%lf", &arrA[idx]); } scanf("%d", &k2); for (int i = 0; i < k2; i++) { int idx; scanf("%d", &idx); scanf("%lf", &arrB[idx]); } int count = 0; for (int i = 0; i < 1010; i++) { arrA[i] += arrB[i]; if (arrA[i] - 0.0 > 1e-8 || 0.0-arrA[i] > 1e-8) count++; } printf("%d", count); for (int i = 1009; i >= 0; i--) { if (arrA[i] - 0.0 > 1e-8 || 0.0-arrA[i] > 1e-8) { printf(" %d %.1lf", i, arrA[i]); } } printf(" "); return 0; }