学校和 yyy 的家之间的距离为 �s 米,而 yyy 以 �v 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 1010 分钟的时间进行垃圾分类。
学校要求必须在上午 8:008:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
输入格式
一行两个正整数 �,�s,v,分别代表路程和速度。
输出格式
输出一个 2424 小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 HH:MMHH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 00。
#include <stdio.h>
int main()
{
int s,v;
scanf("%d%d",&s,&v);
int t = s/v;
if(s%v!=0)t++;
int sum = 8*60-t-10;
if(sum<0)sum+=24*60;
printf("%02d:%02d",sum/60,sum%60);
}
学长的简洁代码;
1.其中2表示输出两位,02表示当位数不足两位的时候会自动补充0;(新知识!)记下记下!!!
2.还要注意代码的简洁性
下面是我写的(有错应该是半对半错,引以警戒)
#include <stdio.h>
int main()
{
int s,v;
int hour1,minute1;
int t1,t2;
scanf("%d%d",&s,&v);
t1=s/v;
if(t1<=480)
{
if(s%v!=0)
{
t2=480-t1-10-1;
hour1=t2/60;
minute1=t2%60;
printf("0%d:%d",hour1,minute1);
}else
{
t2=480-t1-10;
hour1=t2/60;
minute1=t2%60;
printf("0%d:%d",hour1,minute1);
}
}else
{
if(s%v!=0)
{
t2=24*60-(t1-480)-1;
hour1=t2/60;
minute1=t2%60;
printf("%d:%d",hour1,minute1);
}else
{
t2=24*60-(t1-480);
hour1=t2/60;
minute1=t2%60;
printf("%d:%d",hour1,minute1);
}
}
return 0;
}
太长了,还有错误