洛谷p5707上学迟到

【深基2.例12】上学迟到 - 洛谷

这道题主要是输出控制比较麻烦,要考虑的点比较多

1.对分钟数取整

2.对小时数进行判断并取余,如果是整点就是(8 -(x/60))再对24取余,如果不是整点就还需要小时数减1也就是(7 -(x/60))再对24取余.

*不过这里有个问题,我第一个判断的时候没有+24,也就是没有向上取整结果也通过了。但是第二个判断的时候必须要+24向上取整才能通过。有时间再看看

3.对分钟进行取余

4.输出控制,小于10小时的要在前面添“0”,大于10小时的不用添“0”。

#include <iostream>
#include <cmath>
using namespace std;
int main() 
{
	int s, v,h,m,x;//h是小时数,m是分钟数,x是路上消耗的分钟数
	cin >> s >> v;
	if(s%v==0)             //对分钟数取整
	x = s / v  + 10;
	else
		x = s / v + 1 + 10;
	if(x%60==0)              //对小时数做取余判断,看是否有整点
	h = (8 - (x / 60))%24;
	else
		h = (7 - (x / 60)+24) % 24; //+24是方便向上取整
	m = 60-(x % 60);  
	if (m==0)            //对分钟数做取余判断
		m = 0;
	if (h < 10 )            //输出控制判断
	{
		if (m < 10)
		{
			cout << "0" << h << ":" <<"0"<< m;
		}
		else
			cout << "0" << h << ":" << m;
		
	}
	else
		cout << h << ":" << m;
	
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值