文章目录
- 🌞小鱼的游泳时间
- 🌸题目描述
- 🌸输入格式
- 🌸输出格式
- 🌸样例
- 🍭样例输入
- 🍭样例输出
- 🌸提示
- 🌸我的题解
- 🍭结果
- 🌸优解1
- 🌸优解2
- 🌸反思总结
🌞小鱼的游泳时间
🌸题目描述
伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。
这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 小时制计算),它发现自己从
时
分一直游泳到当天的
时
小鱼游的好辛苦呀,你可不要算错了哦。
🌸输入格式
一行内输入 个整数,以空格隔开,分别表示题目中的
。
🌸输出格式
一行内输出 个整数
和
,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数
应该小于
。
🌸样例
🍭样例输入
12 50 19 10
🍭样例输出
6 20
🌸提示
对于全部测试数据,,
,且结束时间一定晚于开始时间。
🌸我的题解
//C语言
#include <stdio.h>
int main()
{
int a, b, c, d, e, f;
scanf("%d%d%d%d", &a, &b, &c, &d);
int sum = (c - a) * 60 - b + d; //总的分钟数
e = sum / 60;
f = sum % 60;
printf("%d %d", e, f);
return 0;
}
🍭结果
Accepted
🌸优解1
//C++
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
int x=c-a,y=d-b;
if(y<0){x--;y+=60;}
cout<<x<<" "<<y;
return 0;
}
🌸优解2
//C++
#include<cstdio>//头文件
int main()
{
int h1,h2,m1,m2;
scanf("%d %d %d %d",&h1,&m1,&h2,&m2);
if(m2<m1)//如果不够减
{
m2+=60;//退位
h2--;
}
m1=m2-m1;//分减分
h1=h2-h1;//时减时
printf("%d %d",h1,m1);
return 0;
}
🌸反思总结
这个题思路很简单,一般来说有两种做法
- 小时减去小时,分钟减去分钟。然后直接输出对应的结果。而且结束时间一定是晚于开始时间的,同时24小时制,所以小时可以不用考虑出现负数的情况;而分钟数如果出现负数,则可以使小时数减1,分钟数使用60加上这个负数就可以了