问题: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;
}