PAT A 1061 Dating (20分)

一、思路

题目表达的非常笼统。
要求概述:
1、前两串中,找到:第一对相等的、在’A’ ~ ‘G’范围内的大写字母
2、前两串中,在刚找到的字母后面的位置,找到第一对相等的数字或‘A’ ~ 'N’范围内的字母
3、对两串中,找到第一对相同的字母(同为小写或大写);

二、代码

#include <cstdio>
#include <cctype>
int main()
{
    char day[7][4] ={"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"}, str[4][61];
    for( int i = 0; i < 4; ++i )
        scanf("%s", str[i]);
    for( int i = 0, flag = 0, h; str[0][i] != '\0' && str[1][i] !='\0'; ++i )
    {
        if( !flag && str[0][i] == str[1][i] && str[0][i] >= 'A' && str[0][i] <= 'G' )
        {
            printf("%s ", day[ str[0][i] - 'A' ]);
            ++flag;
        }
        else if( flag && str[0][i] == str[1][i] && ( isdigit( str[0][i] ) || ( str[0][i] >= 'A' && str[0][i] <= 'N' ) ) )
        {
            if( isdigit( str[0][i] ) )
                h = str[0][i] - '0';
            else h = str[0][i] - 'A' + 10;
            printf("%02d:", h);
            break;
        }
    }
    for( int i = 0; str[2][i] != '\2' && str[3][i] !='\2'; ++i )
        if( str[2][i] == str[3][i] && isalpha( str[2][i] ) )
        {
            printf("%02d", i);
            return 0;
        }
}

发布了151 篇原创文章 · 获赞 144 · 访问量 9190

猜你喜欢

转载自blog.csdn.net/qq_43749739/article/details/103989279