mod 功能对我来说无法正常工作

The mod function isn't working properly for me

本文关键字:工作 常工作 功能 对我来说 mod      更新时间:2023-10-16

当我输入 36011 时,它导致秒输出是 36011 而不是 11,我确保编译器设置正确设置和一切。我真的不知道还能做什么,我必须为此作业使用 long long int,当我尝试在我的代码中使用 mod 函数时,它对我不起作用。

#include <iostream>
using namespace std;
int main()
{
long long int seconds;
cin >> seconds;
long long int minutes = seconds / 60;
long long int hours = minutes / 60;
long long int days = hours / 24;
cout << "Total seconds: " << seconds << endl;
if(seconds <= 0)
{
    cout << "nTotal seconds must be greater than zero";
}
else
{
    if(days > 0)
    {
        hours %= 24;
        cout << "n" << days << " day(s)";
    }
    if(hours > 0)
    {
        minutes %= 60;
        cout << "n" << hours << " hour(s)";
    }
    if(minutes > 0)
    {
        seconds %= 60;
        cout << "n" << minutes << " minute(s)";
    }
    if(seconds > 0)
    {
        cout << "n" << seconds << " second(s)";
    }
}
cout << endl;
return 0;}

你计算你的值的方式是错误的。尝试更多类似的东西:

#include <iostream>
using namespace std;
int main()
{
    long long int seconds;
    cin >> seconds;
    if (seconds <= 0)
    {
        cout << "Total seconds must be greater than zero" << endl;
    }
    else
    {
        cout << "Total seconds: " << seconds << endl;
        long long int minutes = seconds / 60; seconds %= 60;
        long long int hours = minutes / 60; minutes %= 60;
        long long int days = hours / 24; hours %= 24;
        /* alternatively:
        long long int days = seconds / 86400; seconds %= 86400;
        long long int hours = seconds / 3600; seconds %= 3600;
        long long int minutes = seconds / 60; seconds %= 60;
        */
        if (days > 0) {
            cout << days << " day(s)" << endl;
        }
        if (hours > 0) {
            cout << hours << " hour(s)" << endl;
        }
        if (minutes > 0) {
            cout << minutes << " minute(s)" << endl;
        }
        if (seconds > 0) {
            cout << seconds << " second(s)" << endl;
        }
    }
    return 0;
}