全部评论 1

  • 为什么我第一题编的和这个题解差不多,就多了点无关紧要的内容,在 在线IDE能成功运行,答题界面为什么会报错?

    #include <bits/stdc++.h>
    using namespace std ;
    int main () {
        int n , a , b;
        cin >> n >> a >> b ;
        int x = b / a ;
        int y = min ( n , x ) ;
        cout << y << endl ;
        return 0 ;
    }
    

    2天前 来自 浙江

    0
    • 你现在这个代码是正确的。

      //赛时代码
      #include <bits/stdc++.h>
      using namespace std ;
      int main () {
          int a , b , c ;
          cin >> a >> b >> c ;//a是酱油瓶,b是一个瓶子容量,c是酱油数
          double x = c / b ;
          cout << a - ceil(x) ;
          return 0 ;
      }
      

      赛时你的代码错是因为整数和整数计算会得到整数的结果,此时小数部分已经被舍去了,即使赋值给浮点型变量,里面的值也是小数部分全 00 的结果。

      其次这里不足整瓶的酱油不计入,应该使用向下取整的 floor() 函数。

      //参考代码
      #include <bits/stdc++.h>
      using namespace std ;
      int main () {
          int a , b , c ;
          cin >> a >> b >> c ;//a是酱油瓶,b是一个瓶子容量,c是酱油数
          double x = 1.0 * c / b ;
          cout<<min(a,(int)floor(x))<<endl;
          return 0 ;
      }
      

      由于 min() 函数需要比较的内容类型一致,但 floor() 函数得到的结果是浮点数类型,这里需要强制类型转换对齐类型,否则运行会报错。

      21小时前 来自 浙江

      0
    • 可是我在题目做却直接AC了,这又是为什么

      15小时前 来自 浙江

      0
    • 现在这个代码是正确的,因为整型变量直接舍去小数部分,正好符合题目的要求,而且整型变量就可以直接与 nnmin 得到较小值了。

      你比赛时那个代码是错误的,我上面贴了你赛时的代码,你可以再看看。

      你说与题解差不多的代码,并没有找到你的错误提交记录。

      4小时前 来自 浙江

      0

热门讨论