1014. 福尔摩斯的约会 (20)
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母's'出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。

输入格式:

输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。

输出格式:

在一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。

输入样例:
3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm
输出样例:
THU 14:04

这道题目,略显(真TM坑爹,抱歉,我又说脏话了,但是实在不能忍啊!!!)坑爹。题目的意思看起来说的很清楚,实则完全没有说清楚,题目是“横看成岭侧成峰”啊!,但是标准答案只有一个。哎,等会了写篇文章总结一下刷了10多篇后的体会。这里就不废话了(感觉已经废话已经有点多了,哈哈)。重点来了。
首先,第一个确定的星期几的问题,这个要求必须是大写字母,即:if ('A' <= str[0][i] && str[0][i] <= 'G')
第二,这个题目就表达的没什么问题了,要求是数字或者大写字母,即:
if (str[0][i] == str[1][i] && (str[0][i] >= '0' && '9' >= str[0][i]))或者是if (str[0][i] == str[1][i] && ('A' <= str[0][i] && str[0][i] <= 'N'))两种情况
第三,这个也很坑,实质的要求是,只能是字母。即:if (('a' <= str[2][i] && 'z' >= str[2][i]) || ('A' <= str[2][i] && str[2][i] <= 'Z'))
好了,上代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>int main()
{char str[4][60];char day[7][4] = { "MON","TUE","WED","THU","FRI","SAT","SUN" };int k = 0;int num1 = 0, num2 = 0;for (int i = 0; i < 4; i++){scanf("%s", &str[i]);}for (int i = 0; i < strlen(str[0]); i++){if (str[0][i] == str[1][i]){if ('A' <= str[0][i] && str[0][i] <= 'G'){num1 = str[0][i] - 65;     //确定星期k = i;break;}}}for (int i = k + 1; i < strlen(str[0]); i++){if (str[0][i] == str[1][i] && (str[0][i] >= '0' && '9' >= str[0][i])){num2 = str[0][i] - '0';        //确定小时break;}if (str[0][i] == str[1][i] && ('A' <= str[0][i] && str[0][i] <= 'N')){num2 = str[0][i] - 'A' + 10;       //确定小时break;}}for (int i = 0; i < strlen(str[2]); i++){if (str[2][i] == str[3][i]){if (('a' <= str[2][i] && 'z' >= str[2][i]) || ('A' <= str[2][i] && str[2][i] <= 'Z')){k = i;break;}}}printf("%s ", day[num1]);if (num2 < 10){printf("0%d:", num2);}else{printf("%d:", num2);}if (k < 10){printf("0%d", k);}else{printf("%d", k);}system("pause");return 0;
}

忘记说明了,补在这里,代码是在VS2015下测试的,为了使用scanf这个函数,在代码第一行加入了一个宏命令。system("pause")是为了让界面卡一下,方便看输出。当然了,我在最后的输出格式上做的不太好,其实后面的小时和分钟,可以使用相同的一个函数,能少写点代码。然后,就没有然后了。

转载于:https://www.cnblogs.com/zy666/p/10504350.html

PAT(乙级)1014相关推荐

  1. pat 乙级 1014 福尔摩斯的约会 (C++)

    题目 大侦探福尔摩斯接到一张奇怪的字条: 我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了,字 ...

  2. pat乙级 1014 java_pat乙级1014 福尔摩斯的约会

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

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

    大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了,字条上奇 ...

  4. PAT 乙级1014 福尔摩斯的约会(C语言)

    大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了,字条上奇 ...

  5. PAT 乙级 1014. 福尔摩斯的约会 (20) Java版

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

  6. PAT乙级题目索引(题目+解析+AC代码)

    题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 ...

  7. PAT乙级算法-1014(JAVA实现)

    PAT乙级算法-1014(JAVA实现) 注意事项: 解题思路-本题主要是对字符进行操作,A对应的ASCII位65,B的为66 依次加1, 详细解题思路看代码 package pta; import ...

  8. 【PAT乙级】题解-1014 福尔摩斯的约会

    PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误. 第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助. PAT 乙级:只涉及基础编 ...

  9. 【最新合集】PAT乙级最优题解(题解+解析+代码)

    以下每道题均是笔者多方对比后, 思考整理得到的最优代码,欢迎交流! pat乙级题解目录 编号 标题 题解 分类 1001 害死人不偿命的(3n+1)猜想 (15分) 9行代码AC 水 1002 写出这 ...

  10. PAT 乙级(Basic Level) 题解汇总(持续更新)(C++)

    前言 为了准备3月份的CCF CSP认证,以及提升自己的编程能力和数据结构与算法基础,目前我坚持每天刷pat乙级题库,然后记录在CSDN.一则,希望夯实我做过的题和学到的东西:二则,希望对和我一样的小 ...

最新文章

  1. python3菜鸟-菜鸟笔记Python3——数据可视化(一)
  2. DataFrame 学习笔记
  3. 题目1179:阶乘-------------阶乘不用long long int 就不能AC
  4. 支持断线重连、永久watcher、递归操作 ZooKeeper 客户端
  5. linux下mysql的用户名,linux下设置mysql用户名及密码
  6. c语言编写的贪吃蛇代码,刚学C语言,想写一个贪吃蛇的代码
  7. 微信内置浏览器音频直播
  8. 1stOpt简单使用介绍
  9. 测开面试题大全及答案(含测试基础|实例介绍|软件本地化测试等)
  10. telink wiki使用简单说明
  11. 从全班同学的成绩中找出最高成绩(遍历一位数组)
  12. NLP数据集:GLUE【CoLA(单句子分类)、SST-2(情感二分类)、MRPC、STS-B、QQP、MNLI、QNLI、RTE、WNLI】【知名模型都会在此基准上进行测试】
  13. MYSQL之数据库高级SQL语句详细操作步骤详情介绍
  14. 百度为手游盛世添把火
  15. 【路径规划】基于遗传算法求解多式联运运输问题matlab源码
  16. hoolilaw特别分享:在美国喝多少酒就算酒驾
  17. 【深度之眼cs231n第七期】笔记(二十七)
  18. Python实验报告 实验15 - 体育竞技分析
  19. Android Oreo 常见问题 3.0 | Android 开发者 FAQ Vol.11
  20. 查看当前操作系统是ubuntu还是centos

热门文章

  1. Alibaba-AndFix Bug热修复框架原理及源码解析
  2. layui select下拉框改变之 change 监听事件
  3. RedHat6配置网络yum源
  4. oracle索引对模糊查询,Oracle索引
  5. 百度超级搜索技巧集锦
  6. TensorFlow:简单的卷积层、池化层(采样层)示例
  7. python连接linux获取日志_Python 日志记录模块logging的使用
  8. 20210928 对角化的充要条件
  9. laravel 报错htmlspecialchars() expects parameter 1 to be string, object given
  10. 设计模式系列 - 解释器模式