小乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)
小乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)
输入现在的时刻以及要睡的时长k(单位:minute),中间用空格分开。
输入格式:hour:minute k(如hour或minute的值为1,输入为1,而不是01)
(0 ≤ hour ≤ 23,0 ≤ minute ≤ 59,1 ≤ k ≤ 109)
对于每组输入,输出闹钟应该设定的时刻,输出格式为标准时刻表示法(即时和分都是由两位表示,位数不够用前导0补齐)。
0:0 100
01:40
1:0 200
04:20
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNext()) { String[] message = scanner.nextLine().split(" "); String[] hourAndMinute = message[0].split(":"); int hour = Integer.parseInt(hourAndMinute[0]); int minute = Integer.parseInt(hourAndMinute[1]); long clock = Long.parseLong(message[1]); long newMinute = (clock % 60 + minute)%60; long newHour = (clock / 60 + hour + (clock % 60 + minute)/60)%24; System.out.printf("%02d:%02d", newHour, newMinute); } } }//清楚关系式即可
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String[] s = sc.nextLine().split(" "); String[] time = s[0].split(":"); int sleep = Integer.parseInt(s[1]); int hour = sleep/60; int minute = sleep%60; int curH = Integer.parseInt(time[0]); int curM = Integer.parseInt(time[1]); curH = (curH+hour+(minute+curM)/60)%24; curM = (curM+minute)%60; System.out.println(String.format("%02d",curH)+":"+ String.format("%02d",curM)); } } }
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); String[] in=sc.nextLine().split(" |:"); int hour=Integer.valueOf(in[0]); int min=Integer.valueOf(in[1]); int time=Integer.valueOf(in[2]); int mod=time%1440; hour=(mod/60+hour+(mod%60+min)/60)%24; min=(mod%60+min)%60; System.out.println(String.format("%2d",hour).replace(" ","0")+":"+String.format("%2d",min).replace(" ","0")); } }这样处理输出域比较简洁
#include<stdio.h> int main() { int hour, minute, minutes; scanf("%d:%d %d", &hour, &minute, &minutes); hour = (hour + (minute + minutes) / 60) % 24; minute = (minute + minutes) % 60; printf("%02d:%02d", hour, minute); }
printf(“%5d”, tmp) 会用空格补充
printf(“%05d”, tmp) 会用0补充空格
还有更简单的格式#include<stdio.h> int main() { int hour, minute, minutes; scanf("%d:%d %d", &hour, &minute, &minutes); printf("%02d:%02d", (hour + (minute + minutes) / 60) % 24, minute = (minute + minutes) % 60);}
#include <stdio.h> int main() { int hour, minute, k; scanf("%d:%d %d", &hour, &minute, &k);//输入 hour += k / 60;//增加小时 minute += k % 60;//增加分钟 if(minute > 59)//如果分钟大于59,将分钟调整为0~59,并将小时加1。 { minute -= 60; hour++; } while(hour > 23)//如果小时大于23,将小时调整为0~23。 { hour -= 24; } printf("%02d:%02d", hour, minute);//输出 return 0; }
#include<iostream> #include<iomanip> using namespace std; int main(){ int a, b, c; char ch; cin >> a >> ch >> b >> c; a += c / 60; b = (b + c%60); if (b >= 60){ b -= 60; a += 1; } if (a >= 24) a = a % 24; cout << setw(2) << setfill('0') << a << ':' << fixed << setw(2) << b << endl; return 0; }
#include <stdio.h> int main() { int h,m; long k,t; scanf("%d:%d %ld",&h,&m,&k); t = h *60 + m +k; m = t % 60; h = t / 60 % 24; printf("%02d:%02d",h,m); return 0; }
#include<stdio.h> int main() { int h = 0; int m = 0; int k = 0; scanf("%d:%d %d",&h,&m,&k); h = h+(m+k)/60; m = (k+m)%60; printf("%#02d:%#02d",h%24,m); return 0; }
#include <bits/stdc++.h> using namespace std; int main(){ int hour, minute, n; cin>>hour; getchar(); cin>>minute; cin>>n; int minutes = hour*60+minute; minutes += n; // 总时间数 hour = minutes/60%24; minute = minutes%60; cout<<setfill('0')<<setw(2)<<hour<<":"<<setfill('0')<<setw(2)<<minute; return 0; }
var a = readline().split(" "); var hm = a[0].split(":"); var s = parseInt(a[1]); var h = parseInt(hm[0]); var m = parseInt(hm[1]); var newm = (m+s) % 60; var newh = parseInt(h+ ((m+s) / 60))%24; var res = ""; if(String(newh).length == 1) res += "0"+newh+":"; else res += newh+":"; if(String(newm).length == 1) res += "0"+newm; else res += newm; console.log(res)