7-19 装酒

# 7-19 装酒

分数 10 作者 李祥 单位 湖北经济学院

已知酒瓶容量为 b 升,现有 w 升酒,需要 n 只瓶子才能盛下全部这些酒。请编写程序,输入 p 和 t,计算并输出 n。

输入格式 b 和 w

输出格式 n

样例输入1
9.45 85.05
样例输出1
9
1
2
3
4
样例输入2
0.85 146.6
样例输出2
173
1
2
3
4

代码长度限制 16 KB 时间限制 100 ms 内存限制 64 MB

# 代码:

方法一: 此方法更简单,使用ceil函数即可

#include <stdio.h>
#include <math.h> //ceil需要引入math头文件
int main(){
    double b,w;
    int n;
    scanf("%lf %lf",&b,&w);
    n = ceil(w/b); //ceil函数代表向上取整
    printf("%d",n);
}
1
2
3
4
5
6
7
8
9

方法二:

#include<stdio.h>
#include<math.h>
int main(){
    double bottle,wine;    //定义双精度的酒瓶容量和现有酒容量
    int bottle_number=0;  //定义整型的瓶子数
    scanf("%lf %lf", &bottle, &wine);   //输入酒瓶容量和现有酒容量
    bottle_number =wine/bottle;    //这些酒阔以装多少个满瓶子
    if(fmod(wine,bottle) > 0.000001){   //fomd为double类型求余,然后判断0不实现,所以判断有没有小数
        bottle_number++;    //如果剩下的不满一瓶算一个瓶子装
    }
    printf("%d\n",bottle_number);   //输出瓶子数量
    return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# 解题思路

  1. 这个问题主要考察是否需要向上取整,根据题目要求需要向上取整。
  2. 可以选择使用math头文件函数,直接进行向上取整
  3. 也可以选择取余判0,再加1实现
最后编辑于: 4/3/2024, 10:05:27 PM