不明白为什么错了,求佬帮帮
查看原帖
不明白为什么错了,求佬帮帮
994007
Drewjin楼主2023/7/5 23:36
#include <iostream>

using namespace std;

class Solution {
    private:
        void time_show_minute(long long n, double t) {   
            long long minute;
    
            minute =(long long)(60 - (t - n * 60));

            if (minute >= 10)
                cout << minute << endl;
            else if (minute < 10 && minute >= 0)
                cout << 0 << minute << endl;
            }
    public:
        void input(unsigned long long* s, unsigned long long* v) {
            cin >> *s >> *v;
        }

        double time_up(unsigned long long s, unsigned long long v) {
            if (s / v == 0)
                return (double)s / v + 9;
            else return (double)s / v + 10;
        }

        void time_show(double t) {
            long long n, d;

            n = (long long)t / 60;
            d = (long long)n / 24;
            if (d >= 1)
                n = n - d * 24;

            if (n >= 0 && n <= 8) {
                cout << 0 << 8 - (n + 1) << ":";
                time_show_minute(n,t);
            }
            else if (n > 8 && n <= 22) {
                cout << 24 + (8 - n) << ":";
                time_show_minute(n,t);
            }
            else if( n > 22 && n < 24) {
                cout << 0 << 24 + (8 - n) << ":";
                time_show_minute(n,t);
            }
        
        }
};

int main() 
{
    unsigned long long s, v;
    double t;
    Solution solution;
    
    solution.input(&s, &v);
    t = solution.time_up(s, v);
    solution.time_show(t);

    return 0;
}

这个地方我始终不知道为什么错了,只有七十分,后三个示例错误了。 具体情况就是: 1. 输入100 99 输出07:48 2. 输入1000 1 输出16:10 3. 输入1400 1 输出09:30 上面都是正常的输出,但是下面就有错误了 4. 输入1500 1 输出06: 5. 输入10000 1 输出10: 问题出在哪里呢?

2023/7/5 23:36
加载中...