[PAT解题报告] Dating

简单题,给定两个字符串,最先同一个位置共同出现的A-G之间的字母代表星期几。接着最先共同位置出现的0..9或者A-N之间的字符表示时间的小时。再给两个字符串,最先共同位置同时出现的字母,位置表示时间的分钟,最后输出星期几个,几点几分,作为约会时间。
应该没有什么坑。
直接做就可以。

#include <cstdio>
#include <cstring>
#include <string>
#include <cctype>

using namespace std;

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

char s1[100], s2[100];


bool in1(char c) {
    return ((c >= 'A') && (c <= 'G'));
}

bool in2(char c) {
    return ((c >= '0') && (c <= '9')) || ((c >= 'A') && (c <= 'N'));
}

bool in3(char c) {
    return isalpha(c);
}

int main() {
int i;
    scanf("%s%s",s1,s2);
    for (i = 0; (!in1(s1[i])) || (s1[i] != s2[i]);++i)
    ;
    printf("%s",week[s1[i] - 'A']);
    for (++i; (!in2(s1[i])) || (s1[i] != s2[i]); ++i) 
    ;
    printf(" %02d", isdigit(s1[i])?(s1[i] - '0'):(s1[i] - 'A' + 10));
    scanf("%s%s",s1,s2);
    for (i = 0; (!in3(s1[i])) || (s1[i] != s2[i]);++i) 
    ;
    printf(":%02d\n",i);
    return 0;
}
http://www.patest.cn/contests/pat-a-practise/1061
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务