week1-[顺序结构]大海

week1-[顺序结构]大海

题目描述

海水的含盐度大概是 3.5%3.5\%3.5%,也就是说 100100100 毫升的海水里有 3.53.53.5 克盐。将 aaa 杯海水和 bbb 杯纯净水(每杯都是 100100100 毫升)倒在一起后,得到的混合物盐度是百分之多少?答案四舍五入保留 111 位小数。

输入格式

输入共 111 行 222 个整数 a,ba,ba,b。

输出格式

输出共 111 行形如 k% 表示答案,其中 kkk 是一个浮点数。

样例 #1

样例输入 #1

复制代码
2 1

样例输出 #1

复制代码
2.3%

样例 #2

样例输入 #2

复制代码
1 0

样例输出 #2

复制代码
3.5%

提示

样例解释 111

总共有 777 克盐与 300300300 毫升水,7÷300≈2.3%7\div 300\approx 2.3\%7÷300≈2.3%。

数据范围

对于所有数据,0≤a,b≤1000\leq a,b\leq 1000≤a,b≤100,a+b≠0a+b\neq 0a+b=0。

week1-[顺序结构]大海 题解

1. 阅读题目

已知:

  • 100 毫升海水含盐 3.5 克。
  • 每杯水是 100 毫升。
  • aaa 杯海水、bbb 杯纯净水混合后,求最终的盐度百分比,保留 1 位小数并输出 % 符号。

2. 分析问题

  • 海水盐量:a×3.5a \times 3.5a×3.5 克

  • 总水量:(a+b)×100(a + b) \times 100(a+b)×100 毫升

  • 盐度

    盐度(%)=盐量总水量×100\text{盐度}(%) = \frac{\text{盐量}}{\text{总水量}} \times 100盐度(%)=总水量盐量×100

  • 四舍五入保留 1 位小数。


3. 解决方案

  1. 读入 a,ba, ba,b
  2. 计算盐量:salt = a * 3.5
  3. 计算总水量:total = (a + b) * 100
  4. 计算盐度百分比:percent = salt / total * 100
  5. 使用 setprecision(1) 控制保留 1 位小数
  6. 输出结果时加上 %

4. C++ 代码实现

c++ 复制代码
#include <iostream>
#include <iomanip> // 控制小数输出
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;

    double salt = a * 3.5;                  // 盐克数
    double total = (a + b) * 100.0;          // 总毫升数
    double percent = salt / total * 100.0;   // 盐度百分比

    cout << fixed << setprecision(1) << percent << "%" << endl;
    return 0;
}

✅ 没有使用 auto、初始化列表、范围 for 等低版本 C++ 不支持的特性。


5. 数据测试

样例 1

输入

复制代码
2 1

输出

复制代码
2.3%

样例 2

输入

复制代码
1 0

过程

输出

复制代码
3.5%

6. 时间复杂度与空间复杂度

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

7. 优化方案

  • 本题数据规模极小,直接按公式计算即可。
    N464WFqP-1755137872220)]

输出

复制代码
3.5%

6. 时间复杂度与空间复杂度

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

7. 优化方案

  • 本题数据规模极小,直接按公式计算即可。
  • 若扩展到需要大量相似计算的情境,可以预先存储海水盐量的换算比例,减少重复计算(但此题无意义)。
相关推荐
workflower6 小时前
微软PM的来历
java·开发语言·算法·microsoft·django·结对编程
惊讶的猫6 小时前
c++基础
开发语言·c++
JianminZheng9 小时前
MTPA算法原理及仿真验证
算法
im_AMBER9 小时前
Leetcode 38
笔记·学习·算法·leetcode
Miraitowa_cheems10 小时前
LeetCode算法日记 - Day 82: 环形子数组的最大和
java·数据结构·算法·leetcode·决策树·线性回归·深度优先
Code_Shark10 小时前
AtCoder Beginner Contest 426 题解
数据结构·c++·算法·数学建模·青少年编程
仰泳的熊猫11 小时前
LeetCode:698. 划分为k个相等的子集
数据结构·c++·算法·leetcode
豐儀麟阁贵11 小时前
4.5数组排序算法
java·开发语言·数据结构·算法·排序算法
xlq2232211 小时前
7(内存管理)(上)(了解)
c++
Shinom1ya_11 小时前
算法 day 32
算法