题目:
输入现在的时刻,计算出time和time+1之间,时针和分针重合的时刻,要求
1.输入 0~23之间的整数,例如2
2.输出 介于0:00~23:59的时间
分析:
- 分针:分针每分钟走整个钟面的360/60=6°,所以分针每分钟转6°。
- 时针:时针每分钟走整个钟面的360/12=30°,1小时转30度。30/60=0.5°所以时针每分钟转0.5°。
- 如果时针和分针重合,说明时针和分针到0点的度数相同,举个例子:
假设当前是a时b分,则
30*a+0.5*b = 6*b
b = 30*a/5.5
代码:
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int minute(int a){
float tmp = (30.0*a)/5.5;
//四舍五入,强转是截断小数点后的数据
int b = (tmp * 10 + 5) / 10;
return b;
}
int main(){
int i;
cin >> i;
for (;i<i+1;){
cout <<i<<":"<<setw(2)<<setfill('0')<<minute(i)<<endl;
break;
}
return 0;
}