zoukankan      html  css  js  c++  java
  • PAT B1014/A1061 福尔摩斯的约会(20)

    书中AC代码

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    using namespace std;
    int main() {
        #ifdef ONLINE_JUDGE
        #else
            freopen("1.txt", "r", stdin);
        #endif // ONLINE_JUDGE
        char week[7][5] = {
            "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"
        };
        char str1[70], str2[70], str3[70], str4[70];
        cin.getline(str1, 70);
        cin.getline(str2, 70);
        cin.getline(str3, 70);
        cin.getline(str4, 70);
    //    gets(str1);
    //    gets(str2);
    //    gets(str3);
    //    gets(str4);
        int len1 = strlen(str1);
        int len2 = strlen(str2);
        int len3 = strlen(str3);
        int len4 = strlen(str4);
        int i;
        //寻找str1和str2中第一对相同位置的A~G的大写字母
        for(i = 0; i < len1 && i < len2; i++) {
            if(str1[i] == str2[i] && str1[i] >= 'A' && str1[i] <= 'G') {
                printf("%s ", week[str1[i] - 'A']);
                break;
            }
        }
        for(i++; i < len1 && i < len2; i++) {
            if(str1[i] == str2[i]) {
                if(str1[i] >= '0' && str1[i] <= '9') {
                    printf("%02d:", str1[i] - '0');
                    break;
                } else if(str1[i] >= 'A' && str1[i] <= 'N') {
                    printf("%02d:", str1[i] - 'A' + 10);
                    break;
                }
            }
        }
        for(i = 0; i < len3 && i <len4; i++) {
            if(str3[i] == str4[i]) {
                if((str3[i] >= 'A' && str3[i] <= 'Z') || (str3[i] >= 'a' && str3[i] <= 'z')) {
                    printf("%02d", i);
                    break;
                }
            }
        }
        return 0;
    }
    
    

    自己写的,有一个没有AC,找不到哪里出错

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main() {
        #ifdef ONLINE_JUDGE
        #else
            freopen("1.txt", "r", stdin);
        //char DD; //日期
        #endif // ONLINE_JUDGE
        int DD = 0, HH = 0, MM = 0;//小时,分钟
        char week[7][5] = {
            "MON", "THU", "WED", "THU", "FRI", "SAT", "SUN"
        };
        char temp[4][70] = {0};
        int len[4] = {0};
        for(int i = 0; i < 4; i++) {
            cin.getline(temp[i], 70);
            len[i] = strlen(temp[i]);
            //for(int j = 0; j < len[i]; j++) printf("")
        }
    //    for(int i = 0; i < 4; i++) {
    //        printf("len: %d, string: %s
    ", len[i], temp[i]);
    //
    //    }
        int smalllen = 0;
        if(len[0] < len[1]) smalllen = len[0];
        else smalllen = len[1];
        int t = 0;
        int i = 0;
        for(i = 0; i < smalllen; i++) { //查找日期
            if(temp[0][i] == temp[1][i]) {
                if('A' <= temp[0][i] && 'G' >=  temp[0][i]) {
    //                printf("temp[0][%d]:%c
    ", i, temp[0][i]);
                    DD = temp[0][i] - 'A';
    //                printf("DD:%d
    ", DD);
                    break;
                }
            }
        }
        for(i++; i < smalllen; i++) { //在上面的基础再往后搜索小时
            if(temp[0][i] == temp[1][i]) {
                if('0' <= temp[0][i] && '9' >= temp[0][i]) {
                    HH = temp[0][i] - '0';
    //                printf("temp[0][%d]:%c
    ", i, temp[0][i]);
    //                printf("HH:%d
    ", HH);
                    break;
                } else if('A' <= temp[0][i] && 'N' >= temp[0][i]) {
                    HH = temp[0][i] - 'A' + 10;
    //                printf("temp[0][%d]:%c
    ", i, temp[0][i]);
    //                printf("HH:%d
    ", HH);
                    break;
                }
            }
        }
        smalllen = 0;
        if(len[2] < len[3]) smalllen = len[2];
        else smalllen = len[3];
        for(int i = 0; i < smalllen; i++) {
            if(temp[2][i] == temp[3][i]) {
                if(('A' <= temp[2][i] && 'Z' >=  temp[2][i]) || ('a' <= temp[2][i] && 'z' >= temp[2][i])) {
    //               printf("temp[2][%d]:%c
    ", i, temp[0][i]);
                   MM = i;
    //               printf("MM:%d
    ", MM);
                   break;
                }
            }
        }
        printf("%s %02d:%02d", week[DD], HH, MM);
        return 0;
    }
    
    
  • 相关阅读:
    ES(一): 架构及原理
    Durid(二): 数据集及存储
    Durid(一): 原理架构
    【DataBase】H2 DateBase与项目集成
    【DataBase】H2 DateBase的拓展使用
    【Mybatis】MyBatis之插件开发(十)
    【DataBase】H2 DateBase的简单使用
    【DataBase】Hsqldb与项目集成
    【DataBase】Hsqldb的简单使用
    【Mybatis】MyBatis之Generator自动生成代码(九)
  • 原文地址:https://www.cnblogs.com/isChenJY/p/11330591.html
Copyright © 2011-2022 走看看