PAT 1061. Dating

题是别人出的,不按她的想法来也没办法,真心想k一顿

#include <cstdio>

#include <cstdlib>



using namespace std;



const char*  days[] = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};



inline bool is_cap_alpha(char ch) {

    return ch >= 'A' && ch <= 'Z';

}



inline bool is_alpha(char ch) {

    return ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z';

}



int main() {

    char a[64] = {0};

    char b[64] = {0};

    char c[64] = {0};

    char d[64] = {0};

    

    scanf("%s", a);

    scanf("%s", b);

    scanf("%s", c);

    scanf("%s", d);

    

    int i = 0, j= 0;

    char day = -1;

    char hour= 0;

    char min = 0;

    char ta, tb;

    while ((ta = a[i++]) != '\0' && (tb = b[j++]) != '\0') {

        if (ta != tb) {

            continue;

        }

        if (is_cap_alpha(ta)) {

            if (day == -1) {

                // range check

                if (ta <= 'G') {

                    day = ta - 'A';

                }

            } else if (ta <= 'N'){

                hour = ta - 'A' + 10;

                break;

            }

        } else if (day != -1 && ta >= '0' && ta <= '9'){

            hour = ta - '0';

            break;

        }

    }

    i = 0, j = 0;

    while ((ta = c[i]) != '\0' && (tb = d[j]) != '\0') {

        if (ta == tb && is_alpha(ta)) {

            min = i;

            break;

        }

        i++, j++;

    }

    printf("%s %02d:%02d\n", days[day], hour, min);

    

    return 0;

}

 

你可能感兴趣的:(pat)