C++福尔摩斯的约会

这道题的要求总结如下:
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++福尔摩斯的约会的更多相关文章
- PAT乙级 1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...
- PAT-乙级-1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...
- 浙江大学PAT上机题解析之1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20) 时间限制 50 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Y ...
- PAT 乙级 1014 福尔摩斯的约会 (20) C++版
1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...
- PAT 1014 福尔摩斯的约会 (20)(代码+思路)
1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:"我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfd ...
- 【PAT】1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...
- 【算法笔记】B1014 福尔摩斯的约会
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...
- PAT (Basic Level) Practise (中文)- 1014. 福尔摩斯的约会 (20)
http://www.patest.cn/contests/pat-b-practise/1014 1014. 福尔摩斯的约会 (20) 时间限制 50 ms 内存限制 65536 kB 代码长度限制 ...
- PAT(B) 1014 福尔摩斯的约会(Java)
题目链接:1014 福尔摩斯的约会 注意 三个字眼:"第1对","第2对","第1对",因此如果你用了循环,别忘了break,因为后面也可能 ...
- PAT乙级:1014 福尔摩斯的约会 (20分)
PAT乙级:1014 福尔摩斯的约会 (20分) 题干 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk ...
随机推荐
- Element - 日期禁用集合(持续更新)
当前日期之前的日期禁用 <el-date-picker v-model="form.startTime" type="date" placeholder= ...
- php linux yaml 的安装和使用
安装: 1 下载yaml包 wget http://pyyaml.org/download/libyaml/yaml-0.2.2.tar.gz tar -zxvf yaml-0.2.2.tar.gz ...
- Linux常用命令和快捷键整理:(1)常用命令
前言: Linux常用快捷键和基本命令整理,先上思维导图: 1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限) ...
- jmeter压测IP欺骗绕过服务端限流
1.环境声明 jmeter3.0 后端为内网环境 2.检查内网闲置的ip 工具地址,无需复杂安装,解压点击就可以用啦~~ https://pan.baidu.com/s/1Yzs1vezfFMoy-m ...
- 图文详解 Java 字节码,让你秒懂全过程
原文地址:https://blog.csdn.net/AliceSmith1/article/details/80051153 即便对那些有经验的Java开发人员来说,阅读已编译的Java字节码也很乏 ...
- 快速排序平均时间复杂度O(nlogn)的推导
快速排序作为随机算法的一种,不能通过常规方法来计算时间复杂度 wiki上有三种快排平均时间复杂度的分析,本文记录了一种推导方法. 先放快速排序的伪代码,便于回顾.参考 quicksort(int L, ...
- Typora的基础操作
#一级标题 ##二级标题 ###三级标题 ####四级标题 加粗 倾斜 加粗又倾斜 ---下划线 插入图片 英文状态下 感叹号+中括号+小括号 //中括号内为图片名字 若想插入网络图片 在网络上找一个 ...
- [bzoj1101]Zap
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 50001 4 int t,n,m,k,ans,mu[N],vis ...
- [51nod1587]半现串
将s所有长度为d/2的子串放进ac自动机中,直接匹配就可以判定半现串了再对其做一个差分,询问一个前缀的半现串个数,在ac自动机上数位dp,f[i][j][0/1]表示走了i步(i位的字符串),走到节点 ...
- CF1601E Phys Ed Online
考虑一个贪心. 我们一定采取的方案是 \(b_i = \min_{j = i - k}^i a_j\) \(\sum a_l + b_{l + k} + \min_{i = 1}^2{b_{l + i ...