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;
    }
    
    
  • 相关阅读:
    HDU4474 Yet Another Multiple Problem BFS搜索
    HDU4473 Exam 数学分析
    2013ACM多校联合(4)
    POJ1273 网络流...
    HDU4472 Count 递推
    POJ1149 PIGS 网络流
    UVA10881 Piotr's Ants 想法题
    javascript js string.Format()收集
    修改 设置 vs.net 网站 调试 设为 起始页
    【转】HTML5杂谈 概念与现行游戏 割绳子 宝石迷阵
  • 原文地址:https://www.cnblogs.com/isChenJY/p/11330591.html
Copyright © 2011-2022 走看看