PAT甲级——1002. A+B for Polynomials (25)(C++)
程序员文章站
2022-04-10 09:38:47
解题思路创建一个数组float map[1001] = {0.0}作为哈希表,用数组的索引表示指数,对应位置存储的元素表示系数。开始我用的是cin, cout标准输入输出(在标准输出中保留小数点后1位的写法:cout << setiosflags(ios::fixed) << setprecision(1) << endl;),后来用scanf, printf输入输出更加简洁。实现代码#include using namespac...
解题思路
- 创建一个数组float map[1001] = {0.0}作为哈希表,用数组的索引表示指数,对应位置存储的元素表示系数。
- 开始我用的是cin, cout标准输入输出(在标准输出中保留小数点后1位的写法:cout << setiosflags(ios::fixed) << setprecision(1) << endl;),后来用scanf, printf输入输出更加简洁。
实现代码
#include <iostream>
using namespace std;
int main() {
float c[1001] = {0};
int m, n, t = 0;
float num = 0.0;
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%d%f", &t, &num);
c[t] += num;
}
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d%f", &t, &num);
c[t] += num;
}
int cnt = 0;
for (int i = 0; i < 1001; i++) {
if (c[i] != 0) cnt++;
}
printf("%d", cnt);
for (int i = 1000; i >= 0; i--) {
if (c[i] != 0) {
printf(" %d %.1f", i, c[i]);
}
}
return 0;
}
本文地址:https://blog.csdn.net/t0be_Better/article/details/108571861
上一篇: Android优化笔记--崩溃优化
下一篇: C语言实现一个简易通讯录
推荐阅读
-
【PAT甲级】【1002】 A+B for Polynomials (25分)
-
PAT_甲级_1065 A+B and C (64bit) (20分) (C++)【大数相加】
-
PAT甲级1086 Tree Traversals Again (25分)|C++实现
-
PAT甲级——1002. A+B for Polynomials (25)(C++)
-
1002. A+B for Polynomials(25)—PAT 甲级
-
PAT甲级1032 Sharing (25分)|C++实现
-
PAT甲级1043 Is It a Binary Search Tree (25分)|C++实现
-
PAT甲级1021 Deepest Root (25分)|C++实现
-
PAT甲级1048 Find Coins (25分)|C++实现
-
PAT甲级1044 Shopping in Mars (25分)|C++实现