问题:1321. 时钟旋转(2)
类型:字符串
题目描述:
时钟从时间:xx:xx(xx时xx分),走到时间:xx:xx(xx时xx分),时针共旋转了多少度?(假设第一个时间<=第二个时间,2个时间都是12小时制,且两个时间的时间差不超过12小时,也就是说时针旋转的度数在360度之内,也就是 1 <= 时间1 <= 时间2 <= 12(4.2.4)
输入:
2行,第一行为起始时间(如:01:00),第二行为结束时间(如:01:05)
输出:
时针旋转的度数(结果保留1位小数)
样例:
输入:
01:00
01:05
输出:
2.5
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int myTime(string t){return ((t[0]-'0')*10+(t[1]-'0'))*60+(t[3]-'0')*10+(t[4]-'0');}
int main(){//一、分析问题//已知:时钟从时间:xx:xx(xx时xx分),走到时间:xx:xx(xx时xx分)//未知:时针旋转的度数(结果保留1位小数)//关系://二、数据定义 int t1,t2;string s1,s2;double degree;//三、数据输入cin>>s1>>s2; //四、数据计算 t1=myTime(s1);t2=myTime(s2);degree=360.0/12*(t2-t1)/60;//五、输出结果 cout<<fixed<<setprecision(1)<<degree;return 0;
}