这道题的要求总结如下:

1.DAY 星期 大写字母:A B C D E F G
2.HH 时 数字+大写字母 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N
3.MM 分 相同位置英文字母即可

要注意一点:HH和MM是个位数时格式是0x

 1 #include <iostream>
2 #include <string>
3 #include "stdio.h"
4
5 using namespace std;
6
7 int main()
8 {
9 string str1,str2,str3,str4;
10 cin >> str1 >> str2 >> str3 >> str4;
11 string day[7] = {"MON ","TUE ","WED ", "THU ","FRI ","SAT ","SUN "};
12 //后两个字符串中相同的字母的索引位置
13 int index = 0;
14 //得到两个数组中最短的那个的长度
15 int length1 = str1.length() < str2.length()?str1.length():str2.length();
16 int length2 = str3.length() < str4.length()?str3.length():str4.length();
17
18 bool flag1 = false,flag2 = false;
19 for(int i = 0;i < length1;++i)
20 {
21 //获取DAY
22 if(str1[i] == str2[i])
23 {
24 if(!flag1&& str1[i] >= 'A' &&str1[i] <= 'G')
25 {
26 int j = str1[i]-'A';
27 cout << day[j];
28 flag1 = true;
29 i++;
30 }
31 if(flag1 && !flag2)
32 {
33 if((str1[i] >= '0' &&str1[i] <= '9')||(str1[i] >= 'A' &&str1[i] <= 'N'))
34 {
35 int hour;
36 if(str1[i] >= '0' && str1[i] <='9')
37 {
38 hour = str1[i]-'0';
39 }else if(str1[i] >= 'A' && str1[i] <='N')
40 {
41 hour = str1[i]-'A'+10;
42 }
43 printf("%02d:",hour);
44 //cout << "HH是:" << HH <<endl;
45 flag2 = true;
46 }
47 }
48 }
49 if(flag1&&flag2)//DAY和HH都有值了
50 break;
51 }
52
53 for(int i = 0;i < length2;++i)
54 {
55 if(str3[i] == str4[i])
56 {
57 if((str3[i]>='a' && str3[i] <= 'z')||(str3[i]>='A' && str3[i] <= 'Z'))
58 {
59 index = i;
60 //cout << "MM是:" << index <<endl;
61 printf("%02d",index);
62 break;
63 }
64 }
65 }
66 return 0;
67 }

我这段代码里面有很多可以改进的地方,判断字母的可以用函数

C++福尔摩斯的约会的更多相关文章

  1. PAT乙级 1014. 福尔摩斯的约会 (20)

    1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...

  2. PAT-乙级-1014. 福尔摩斯的约会 (20)

    1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...

  3. 浙江大学PAT上机题解析之1014. 福尔摩斯的约会 (20)

    1014. 福尔摩斯的约会 (20) 时间限制   50 ms 内存限制   32000 kB 代码长度限制   8000 B 判题程序     Standard     作者     CHEN, Y ...

  4. PAT 乙级 1014 福尔摩斯的约会 (20) C++版

    1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...

  5. PAT 1014 福尔摩斯的约会 (20)(代码+思路)

    1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:"我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfd ...

  6. 【PAT】1014. 福尔摩斯的约会 (20)

    1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...

  7. 【算法笔记】B1014 福尔摩斯的约会

    1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...

  8. PAT (Basic Level) Practise (中文)- 1014. 福尔摩斯的约会 (20)

    http://www.patest.cn/contests/pat-b-practise/1014 1014. 福尔摩斯的约会 (20) 时间限制 50 ms 内存限制 65536 kB 代码长度限制 ...

  9. PAT(B) 1014 福尔摩斯的约会(Java)

    题目链接:1014 福尔摩斯的约会 注意 三个字眼:"第1对","第2对","第1对",因此如果你用了循环,别忘了break,因为后面也可能 ...

  10. PAT乙级:1014 福尔摩斯的约会 (20分)

    PAT乙级:1014 福尔摩斯的约会 (20分) 题干 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk ...

随机推荐

  1. k8s入坑之路(8)kube-proxy详解

    kube-proxy 每台机器上都运行一个 kube-proxy 服务,它监听 API server 中 service 和 endpoint 的变化情况,并通过 iptables 等来为服务配置负载 ...

  2. NAT & 防火墙

    NAT 网络地址转换 NAT产生背景 今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣.他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需.企业利用互联 ...

  3. Cannot find ./catalina.sh The file is absent or does not have execute permission This file is needed to run this program(问题解决)

    web项目没有打成包,直接放在了linux服务器上. 进入tomcat/bin目录,执行启动的时候出现如下错误: 解决方法: 在tomcat 的bin目录下 执行这条命令chmod +x *.sh   ...

  4. mysql登录遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    执行mysql  -uroot  -p,出现如下问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass ...

  5. Java多线程| 01 | 线程概述

    Java多线程| 01 | 线程概述 线程相关概念 进程与线程 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位.可以把进程简单的理解 ...

  6. koa2使用ejs模板引擎

    在koa中使用ejs并不需要像在node中一样安装了还要引用,只需要npm了就行,同时还需要安装koa-views模块.如: const views = require('koa-views'); 对 ...

  7. 简易发号SQL,可用于生成指定前缀自增序列--改进版

    使用merge语法实现新增or更新 首先创建表 CREATE TABLE Test.dbo.Increments ( Prefix varchar(50) NOT NULL, [MaxNum ] bi ...

  8. [bzoj4650]优秀的拆分

    由于字符串是AABB的形式,枚举AA和BB中间的位置,分别考虑AA和BB的数量,乘起来sigma一下即为答案以下考虑AA的情况(BB同理),枚举A的长度,然后按照这个长度分为若干块,那么每一个A一定可 ...

  9. 微服务改造之Openfeign的强化插件

    在接触 Spring Cloud 这套框架之前,笔者使用的一直是Dubbo.在转型到Spring Cloud 后,发现了一个很郁闷的问题.Spring Cloud 中的 Openfeign,相比于 D ...

  10. Java设计模式之(十)——组合模式

    1.什么是组合模式? Compose objects into tree structures to represent part-whole hierarchies.Composite lets c ...