Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
110959 | 汤奕硕 | 相对分子质量 | C++ | Accepted | 1 MS | 272 KB | 1274 | 2025-02-24 19:44:03 |
#include <iostream> #include <string> using namespace std; int main() { int n; cin >> n; // 读取测试数据的个数 while (n--) { string formula; cin >> formula; // 读取分子式 int mass = 0; // 相对分子质量 int i = 0; while (i < formula.length()) { char element = formula[i]; // 当前元素 int count = 1; // 元素的数量 if (i + 1 < formula.length() && isdigit(formula[i + 1])) { count = formula[i + 1] - '0'; // 如果有数字,则读取数量 i++; } // 根据元素计算质量 switch (element) { case 'H': mass += 1 * count; break; case 'C': mass += 12 * count; break; case 'N': mass += 14 * count; break; case 'O': mass += 16 * count; break; case 'F': mass += 19 * count; break; case 'P': mass += 31 * count; break; case 'S': mass += 32 * count; break; case 'K': mass += 39 * count; break; } i++; } // 输出相对分子质量 cout << mass << endl; } return 0; }