用户以整数方式输入秒数,然后以天、小时、分钟和秒的方式显示这段时间
Enter the number of seconds:31600000
31600000 seconds = 365 days,17 hours,46 minutes,40 seconds
代码实现:
#include<iostream>
using namespace std;
const int minutes_to_seconds=60;
const int hours_to_minutes=60;
const int day_to_hours=24;
int main()
{
long second1;
cout<<"Enter the number of seconds: ";
cin>>second1;
int days,hours,minutes,seconds;
seconds=second1 % minutes_to_seconds; //求秒
minutes=(second1 / minutes_to_seconds) % hours_to_minutes; //求分
hours=(second1 / minutes_to_seconds/hours_to_minutes) % day_to_hours;//求时
days=second1/minutes_to_seconds/hours_to_minutes/day_to_hours; //求天
cout<<second1<<" seconds = "<<days<<" days,"<<hours<<" hours,"<<minutes
<<" minutes,"<<seconds<<" seconds\n";
return 0;
}
解析:
求秒:将秒全部化成分所得余数即为秒
seconds=second1 % minutes_to_seconds;
求分:将秒全部转换成分,之后将全部分转换成时所得余数即为分
minutes=(second1 / minutes_to_seconds) % hours_to_minutes;
求时:与求分过程类似,将分全部转换成时,之后转换成天来所得余数即为时
hours=(second1 / minutes_to_seconds/hours_to_minutes) % day_to_hours;
求天:只需依次对秒进行分,时,天转换
days=second1/minutes_to_seconds/hours_to_minutes/day_to_hours;