pat乙级1014测试点二的问题出在哪儿?实在不清楚我的问题出在哪儿了


#include<iostream>
#include<string>
using namespace std;
void tianshu(char s)
{
    switch (s)
    {
    case 'A':
        cout << "MON ";
        break;
    case 'B':
        cout << "TUE ";
        break;
    case 'C':
        cout << "WED ";
        break;
    case 'D':
        cout << "THU ";
        break;
    case 'E':
        cout << "FRI ";
        break;
    case 'F':
        cout << "SAT ";
        break;
    case 'G':
        cout << "SUN ";
        break;
    }
}
void shijian(char s)
{
    if (s >= '0' && s <= '9')
    {
        cout << "0" << s << ":";
    }
    else if(s>='A'&&s<='N')
    {
        cout << s - 'A' + 10 << ":";
    }
}
void dianshu(int i)
{
    if (i < 10)
    {
        cout << "0" << i;
    }
    else
    {
        cout << i << endl;
    }
}
void test01()
{
    string  a,b,c,d;
    cin >> a;
    cin >> b;
    cin >> c;
    cin >> d;
    int flag = 0;
    for (int i = 0; (a[i] &&b[i]) != '\0'; i++)
    {
        if (a[i] == b[i]&&(a[i]>='A'&&a[i]<='G')&&flag==0)
        {
            tianshu(a[i]);
            flag++;
            continue;
        }
        if ((a[i] == b[i]) && ((a[i] >= '0' && a[i] < '9') || (a[i] >= 'A' && a[i] <= 'N'))&&(flag!=0))
        {
            shijian(a[i]);
            break;
        }
    }
    for (int i = 0; (c[i] && d[i]) != '\0'; i++)
    {
        if (c[i] == d[i]&& ((c[i] >= 'a' && c[i] < 'z') || (c[i] >= 'A' && c[i] <= 'Z')))
        {
            dianshu(i);
            break;
        }
    }

}
int main()
{
    test01();
    system("pause");
    return 0;
}