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. 优化方案

  • 本题数据规模极小,直接按公式计算即可。
  • 若扩展到需要大量相似计算的情境,可以预先存储海水盐量的换算比例,减少重复计算(但此题无意义)。
相关推荐
灵感__idea15 分钟前
Hello 算法:贪心的世界
前端·javascript·算法
澈2071 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
A.A呐1 小时前
【C++第二十九章】IO流
开发语言·c++
ambition202422 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_2 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi2 小时前
前缀和差分
算法·图论
代码旅人ing2 小时前
链表算法刷题指南
数据结构·算法·链表
kebeiovo2 小时前
atomic原子操作实现无锁队列
服务器·c++
Yungoal2 小时前
常见 时间复杂度计算
c++·算法
6Hzlia2 小时前
【Hot 100 刷题计划】 LeetCode 48. 旋转图像 | C++ 矩阵变换题解
c++·leetcode·矩阵