```cpp #include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; double totalCost = 0.0; for (int i = 0; i < n; ++i) { int words; cin >> words; // 计算每条短信的资费 int smsCount = (words + 69) / 70; // 向上取整 totalCost += smsCount * 0.1; } // 输出总资费,精确到小数点后1位 cout << fixed << setprecision(1) << totalCost << endl; return 0; } ``` 代码解释: 1. 输入处理:首先读取短信发送次数 `n`,然后循环读取每次发送的短信字数。 2. 计算短信条数:对于每条短信,计算其需要的短信条数。由于每条短信最多70个字,所以使用 `(words + 69) / 70` 来向上取整。 3. 计算总资费:每条短信的资费为0.1元,累加所有短信的资费。 4. 输出结果:使用 `fixed` 和 `setprecision(1)` 来确保输出精确到小数点后1位。 额外注意的逻辑点: 1. 向上取整的计算:使用 `(words + 69) / 70` 来确保超过70字的部分也能正确计算为一条短信。 2. 浮点数精度:在计算总资费时,使用 `double` 类型来避免精度丢失。 3. 输出格式:使用 `fixed` 和 `setprecision(1)` 来确保输出格式符合要求。 [2025-03-06 21:13:35 | AI写代码神器 | 380点数解答]