Advertisement
wojiaocbj

E3-C

Mar 20th, 2023
852
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5. #include <ctype.h>
  6. #include <time.h>
  7. #pragma warning(disable:4996 6031)
  8. int main(){
  9.     long long n, year, month, day, hour, minute;
  10.     //char input[64] = { 0 };
  11.     long long monthdays[13] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  12.     /*fgets(input, 63, stdin);
  13.     sscanf(input, "%d", &n);*/
  14.     scanf("%lld", &n);
  15.     while(n--){
  16.         //fgets(input, 63, stdin);
  17.         //sscanf(input, "%d.%d.%d %d:%d", &year, &month, &day, &hour, &minute);
  18.         scanf("%lld.%lld.%lld %lld:%lld", &year, &month, &day, &hour, &minute);
  19.         hour += (minute / 60);
  20.         minute %= 60;
  21.         day += (hour / 24);
  22.         hour %= 24;
  23.         /*while(month > 12){
  24.             month -= 12; year += 1;
  25.         }*/
  26.         year += (month / 12);
  27.         month %= 12;
  28.         if(month == 0){
  29.             month = 12; year -= 1;
  30.         }
  31.         if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))){
  32.             monthdays[1] = 29;
  33.         }
  34.         else{
  35.             monthdays[1] = 28;
  36.         }
  37.         while(day > monthdays[month-1]){
  38.             day -= monthdays[month-1];
  39.             month += 1;
  40.             if(month == 13){
  41.                 month = 1; year += 1;
  42.             }
  43.             if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))){
  44.                 monthdays[1] = 29;
  45.             }
  46.             else{
  47.                 monthdays[1] = 28;
  48.             }
  49.         }
  50.         printf("%04lld.%02lld.%02lld %02lld:%02lld\n", year, month, day, hour, minute);
  51.     }
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement