Eliauk-GX 2022-03-27 19:33 采纳率: 50%
浏览 58
已结题

PAT乙级1014 福尔摩斯的约会一个测试点过不了

1014 福尔摩斯的约会 (20 分)

img

#include<stdio.h>
#include<string.h>
int main()
{
    char a[61],b[61],c[61],d[61];
    int i,j,lena,lenb,lenc,lend;
    gets(a);gets(b);gets(c);gets(d);
    lena = strlen(a);lenb = strlen(b);
    lenc = strlen(c);lend = strlen(d);
    if(lena > lenb) lena = lenb;
    for(i = 0 ; i < lena ; i++)
    {
        if(a[i] >= 'A' && a[i] <='G')
        {
            if(a[i] == b[i])
            {
                switch(a[i])
            {
                case 'A':printf("MON ");break;
                case 'B':printf("THE ");break;
                case 'C':printf("WED ");break;
                case 'D':printf("THU ");break;
                case 'E':printf("FRI ");break;
                case 'F':printf("SAT ");break;
                case 'G':printf("SUN ");break;
            }
                break;
            }
        }
    }
    for(j = i+1 ; j < lena ; j++)
    {
        if(a[j] >= 48 && a[j] <= 57)
        {
            if(a[j] == b[j])
            {
                printf("%02d:",a[j] - 48);
                break;
            }
        }
        else if(a[j] >= 'A' && a[j] <= 'N')
        {
            if(a[j] == b[j])
            {
                printf("%02d:",a[j] - 55);
                break;
            }
        }
    }
    if(lenc > lend) lenc = lend;
            for(i = 0 ; i < lenc ; i++)
            {
                if(c[i] >= 'a' && c[i] <= 'z'|| c[i] >= 'A' && c[i] <='Z')
                {
                    if(c[i] == d[i])
                      {
                              printf("%02d",i);
                              break;
                      }
                }
            }    
    return 0;
}


img

  • 写回答

2条回答 默认 最新

  • 关注

    case 'B':printf("THE ");break;这句话中,THE应该改成TUE

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月4日
  • 已采纳回答 3月27日
  • 创建了问题 3月27日