题意:
已知UTC-8的时间求UTC+-X.Y的时间。
因为时区有28个,所以不能从UTC+14 +1 => UTC-14 这样
然后主要就是把小时变成分钟然后求出当前的时间即可
输入直接用double可能会有精度误差
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int T,hh,mm,x,y,mul;
int main()
{
scanf("%d",&T);
while(T--){
scanf("%d%d",&hh,&mm);
getchar();getchar();getchar();getchar();
char ch = getchar();
if(ch == '+') mul = 1;
else mul = -1;
scanf("%d",&x); y = 0;
if((ch = getchar()) == '.') scanf("%d",&y);
mm += x * 60 * mul + mul * y * 6 - 8 * 60;
while(mm >= 60) mm -= 60, hh ++;
while(mm < 0) mm += 60, hh --;
while(hh >= 24) hh -= 24;
while(hh < 0) hh += 24;
printf("%02d:%02d\n", hh,mm);
}
return 0;
}