#P5706. 【深基2.例8】再分肥宅水

【深基2.例8】再分肥宅水

【深基2.例8】再分肥宅水

题目来源

洛谷 P5706

题目描述

现在有 tt 毫升肥宅快乐水,要均分给 nn 名同学。每名同学需要 22 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 33 位),以及一共需要多少个杯子。

输入格式

输入一个实数 tt 和一个正整数 nn,使用空格隔开。

输出格式

输出两行。

第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。

样例输入

500.0 3

样例输出

166.667
6

提示

一、一行里读不同类型的数据

格式串按输入顺序写占位符,变量也按同样顺序排:

double v;
int n;
scanf("%lf%d", &v, &n);   // 先读一个 double,再读一个 int

输入 500.0 3 → v = 500.0,n = 3。

二、三样东西必须一一对齐

位置 第 1 个 第 2 个
格式串 %lf %d
变量 v(double) n(int)
输入 500.0 3

顺序写反、类型写错,读进来的就是垃圾值。

三、常见错误

  • double 用 %d 读 → 只读到整数部分,后面的全乱。
  • int 用 %lf 读 → 越界写入,变量被踩坏。
  • 变量顺序和格式串顺序不一致。
  • 忘了 &。

四、自检

读完先原样打印一遍:printf("%.2f %d\n", v, n);。如果打印出来的不是输入里的数,就是格式串或顺序错了,不用往下算。

  • 先确定两个输入各是什么类型,再按顺序写格式串。
  • 第一问是除法,注意参与除法的数里有没有小数;第二问是「每人 2 个杯子」,纯整数乘法。
  • 输出分两行,第一行三位小数,第二行整数。

自查:样例 500.0 3 可以用来核对;如果第一行是整数,说明除法走了整除。