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 ...
随机推荐
- go defer、return的执行顺序
一.一个函数中多个defer的执行顺序 defer 的作用就是把defer关键字之后的函数执行压入一个栈中延迟执行,多个defer的执行顺序是后进先出LIFO,也就是先执行最后一个defer,最后执行 ...
- Python3使用Print输出彩色字体
一.介绍 在一些开发程序中,有些输出消息需要突出显示,我们可以尝试着给他们换上更靓丽的颜色来突出显示. 二.实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. ...
- Jmeter下载安装(一)
一.JMeter介绍 JMeter使用了不同技术和协议,是一款可以进行配置和执行负载测试.性能测试和压力测试的工具.负载测试.性能测试和压力测试概念: 负载测试: 这类测试使系统或者应用程 ...
- APP自动化之Hybrid自动化解决方案(七)
基于UIAutomator+ChromeDriver模式(UIAutomator安卓原生引擎) 原理:native(原生)部分使用UIAutomator,webview部分使用ChromeDriver ...
- selenium2.x 与 selenium3.x 最大区别
一.selenium2.x 与 selenium3.x 最大区别 (1) 从3.0版本selenium开始使用火狐浏览器完成web自动化就需要用到驱动包了. (2) 而2.0版本的selenium使用 ...
- Flink 实践教程 - 入门(4):读取 MySQL 数据写入到 ES
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接. ...
- MacOS修复TNT和谐软件运行崩溃、闪退问题
因为Apple删除了TNT的证书,因此部分应用程序出现了打开崩溃的情况. 目前的解决方案是自己更改签名. 第一种方法: 在终端中运行以下命令:(注意:name.app就是需要更改签名的程序) sudo ...
- PTA 根据后序和中序遍历输出先序遍历 (25分)
PTA 根据后序和中序遍历输出先序遍历 (25分) 本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. 输入格式: 第一行给出正整数N(≤30),是树中结点的个数.随后两行 ...
- Flink sql 之AsyncIO与LookupJoin的几个疑问 (源码分析)
本文源码基于flink 1.14 被同事问到几个关于AsyncIO和lookUp维表的问题所以翻了下源码,从源码的角度解惑这几个问题 对于AsyncIO不了解的可以看看之前写的这篇 <Flin ...
- maven项目中 把依赖包打进jar包
在pom.xml文件中增加build配置 1 <build> 2 <plugins> 3 <plugin> 4 <artifactId>maven-as ...