您的位置:首页 > 其它

1061. Dating (20)

2017-02-09 21:17 309 查看

1. 原题: https://www.patest.cn/contests/pat-a-practise/1061

2. 思路:

题意:

乙级福尔摩斯约会的英文版。查找相应字符转换成时间。

思路:

直接循环查找。注意日期的字符是在A~G,

小时的是0~9或者A~N;分钟的是A~Z或a~z的位置。

3. 源码(已AC):

#include<iostream>
#include<string>
using namespace std;

int main(void)
{
//freopen("in.txt", "r", stdin);
char day[7][4] = { "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" };
string s1, s2, s3, s4;
cin >> s1 >> s2 >> s3 >> s4;

int d, h, m;
int flag = 0;
for (int i = 0; i < s1.size(); i++)
{
if (s1[i] >= 'A' && s1[i] <= 'G' && s1[i] == s2[i] && flag == 0)
{
d = s1[i] - 'A';//日期
flag = 1;
continue;
}

if (flag == 1 && s1[i] == s2[i])
{
if (s1[i] >= 'A' && s1[i] <= 'N')//小时
{
h = s1[i] - 'A' + 10;
break;
}
else if (s1[i] >= '0' && s1[i] <= '9')
{
h = s1[i] - '0';
break;
}
}
}

for (int i = 0; i < s3.size(); i++)//分钟
{
if (s3[i] == s4[i])
{
if ((s3[i] >= 'A' && s3[i] <= 'Z') || (s3[i] >= 'a' && s3[i] <= 'z'))
{
m = i;
break;
}
}
}

printf("%s %02d:%02d\n", day[d], h, m);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PAT 甲级 数据处理