Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- #include <string.h>
- #include <math.h>
- int leapyear(int year){
- return (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0));
- }
- int main(){
- int n, year, month, day, hour, minute;
- char input[64] = { 0 };
- int monthdays[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
- fgets(input, 63, stdin);
- sscanf(input, "%d", &n);
- while(n--){
- fgets(input, 63, stdin);
- sscanf(input, "%d.%d.%d %d:%d", &year, &month, &day, &hour, &minute);
- hour += (minute / 60);
- minute %= 60;
- day += (hour / 24);
- hour %= 24;
- while(month > 12){
- month -= 12;year += 1;
- }
- if(leapyear(year)){
- monthdays[2] = 29;
- }
- else{
- monthdays[2] = 28;
- }
- while(day > monthdays[month]){
- day -= monthdays[month];
- month += 1;
- if(month == 13){
- month = 1;year += 1;
- }
- if(leapyear(year)){
- monthdays[2] = 29;
- }
- else{
- monthdays[2] = 28;
- }
- }
- printf("%04d.%02d.%02d %02d:%02d\n", year, month, day, hour, minute);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement