其他分享
首页 > 其他分享> > 22.1.1上学迟到

22.1.1上学迟到

作者:互联网

题目描述

yyy 的学校要求早上 8 点前到达。学校到 yyy 的家一共有 s(s\le 10000)s(s≤10000) 米,而 yyy 可以以 v(v<10000)v(v<10000) 米每分钟的速度匀速走到学校。此外在上学路上它还要额外花 10 分钟时间进行垃圾分类。请问为了避免迟到 yyy 最晚什么时候出门?输出 HH:MM 的时间格式,不足两位时补零。由于路途遥远, yyy 可能不得不提前一天出发,不过不可能提前超过一天。

输入格式

两个正整数 s,v,意思已经在题目中给定。

输出格式

hh:mm 表示最晚离开家的时间(时:分,必须输出两位,不足两位前面补0)

输入输出样例

输入 #1  100 99

输出 #1   07:48

#include<stdio.h>
int main()
{
	int s,v,a,b;
	scanf("%d%d",&s,&v);
	if(s/v < 470)//00:00-08:00 470=两者之间的时间-10
	{
		if(s%v==0)
		{
			a=(470-s/v)/60;
			b=470-s/v-a*60;
			if(b==0)
			{
				a=a-1;b=59;
				printf("%02d:%02d\n",a,b);
			}
			else
			printf("%02d:%02d\n",a,b);
		} 
		else
		{
			a=(470-s/v)/60;
			b=470-s/v-a*60;
			if(b==0)
			{
				a=a-1;b=59;
				printf("%02d:%02d\n",a,b);
			}
			else
			{
				printf("%02d:%02d\n",a,b-1);
			}
		}
	}
	else if(s/v==470)//
	{
		if(s%v==0)
		printf("00:00\n");
		else
		printf("23:59\n");
	}
    else//08:00-00:00  1910=1440(8点-0点)+470
    {
    	a=(1910-s/v)/60;
    	b=1910-s/v-a*60;
	    if(s%v==0)
	    {
	    	if(b==0)
			{
				a=a-1;b=59;
				printf("%02d:%02d\n",a,b);
			}
			else
			printf("%02d:%02d\n",a,b);
		}
		else
		{
			if(b==0)
			{
				a=a-1;b=59;
				printf("%02d:%02d\n",a,b);
			}
			else
			{
				printf("%02d:%02d\n",a,b-1);
			}
		}
	}
	return 0;
}

标签:02d,00,else,60,470,22.1,printf,上学,迟到
来源: https://blog.csdn.net/m0_63925226/article/details/122270851