1014 福尔摩斯的约会,测试案例4提示Segmentation Fault,找不出错误~,求助!

1014 福尔摩斯的约会 (20 point(s))

大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 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

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

int main(){
    string s1,s2,s3,s4; cin>>s1>>s2>>s3>>s4;
    int f1=0,f2=0;
    string week[7]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
    for(int i=0;i<s1.length() ;i++){
        if(s1[i]==s2[i]&&(s1[i]-'A'>=0&&s1[i]-'A'<=25)&&f1==0){ //s1,s2字符串中相等的字符且是大写字母 
            cout<<week[s1[i]-65]<<" ";
            f1=1;
            i++;
        }
        if(s1[i]==s2[i]&&f1==1){    //钟点 
            if(s1[i]-'0'>=0&&s1[i]-'0'<=9){
                printf("%02d:",s1[i]-'0');
                break;
            }
            if(s1[i]-'A'>=0&&s1[i]-'A'<=13){
                printf("%02d:",s1[i]-'A'+10);
                break;
            }
        }   
    }
    for(int i=0;i<s3.length() ;i++){    //分钟 
        if(s3[i]==s4[i]&&isalpha(s3[i])){
            printf("%02d",i);
            break;
        }   
    }
    return 0;
} 

c c++
0

1个回答

没问题啊,有结果的:THU 14:04

 #include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s1,s2,s3,s4; cin>>s1>>s2>>s3>>s4;
    int f1=0,f2=0;
    string week[7]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
    for(int i=0;i<s1.length() ;i++)
    {
        if(s1[i]==s2[i]&&(s1[i]-'A'>=0&&s1[i]-'A'<=25)&&f1==0)
        { //s1,s2字符串中相等的字符且是大写字母 
            cout<<week[s1[i]-65]<<" ";
            f1=1;
            i++;
        }
        if(s1[i]==s2[i]&&f1==1)
        {    //钟点 
            if(s1[i]-'0'>=0&&s1[i]-'0'<=9)
            {
                printf("%02d:",s1[i]-'0');
                break;
            }
            if(s1[i]-'A'>=0&&s1[i]-'A'<=13)
            {
                printf("%02d:",s1[i]-'A'+10);
                break;
            }
        }   
    }
    for(int i=0;i<s3.length() ;i++)
    {    //分钟 
        if(s3[i]==s4[i]&&isalpha(s3[i]))
        {
            printf("%02d",i);
            break;
        }   
    }
    return 0;
} 
0
zhanshen112
吉大秦少游 结果当然是有,只是一个测试点通过不了
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
浙大PAT 1014. 福尔摩斯的约会 (解题思路)
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(
1014 福尔摩斯的约会 (20 分)测试点分析
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期...
PAT (Basic Level) Practice 1014 福尔摩斯的约会(测试用例的捏造反思)
乙级1014 文字游戏题,最后理解能力实在有限所以查了一下资料才A的 第N对→同位置 日期:第一对大写字母,隐藏条件:只有7个大写字母,所以在A~G之间 小时:第二对字符,0-9和A-N,吐槽点:“第 2 对相同的字符”这指的是在日期确定情况后,包括日期在内,后面的第二对的相同字符,恕我理解不了 分钟:相同的i的值 其它小条件,格式必须HH:MM,所以如果当小时或者分钟小于10的时候,前面需要补...
PAT 1014. 福尔摩斯的约会 (20)--坑点详解
题目描述: 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’E’,那是第5个英文...
1014 福尔摩斯的约会(20 分)
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的...
1014 福尔摩斯的约会 (20)(20 分)通俗详解
本题链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560   1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。...
Pat乙级1014题——福尔摩斯的约会(Python)
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;amp;amp;hgsfdk d&amp;amp;amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表...
1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20) 时间限制 50 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkk
1014 福尔摩斯的约会 Python实现
1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2...
1014 福尔摩斯的约会 字符串的操作
1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2...
1014 福尔摩斯的约会 (20)(20 分)
1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2...
(PAT乙级)1014 福尔摩斯的约会(C语言实现)
总结:1、对比第1和第2串字符时,找第一个相同的大写字母和找第二个相同的数字或大写字母,需要用两个循环去判断,不要糅                   杂在一个循环里;          2、循环的次数应该是两串字符串里长度较短的长度,且四个字符串应该单独定义一个一维字符数组,这样使用strlen函数才                    可行。           3、最后一直通...
1014. 福尔摩斯的约会 (20)python篇
1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk
1014. 福尔摩斯的约会 (20) JAVA
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天...
PAT乙级 1014. 福尔摩斯的约会 C语言
1014. 福尔摩斯的约会 (20)题目: 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’E’,
PAT乙级Java实现_1014 福尔摩斯的约会 (20) _附详细解题注释_14
1014 福尔摩斯的约会 (20)(20 分)大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相...
PAT Basic 1014. 福尔摩斯的约会 (20)(C语言实现)
我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容。此处文章目前已更新至与Github Pages同步。欢迎star我的repo。 题目 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条...
PTA 1014 福尔摩斯的约会 (20 分)【请大佬戳进来!】
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同...
1014 福尔摩斯的约会——C/C++实现
题目 1014 福尔摩斯的约会 (20 point(s)) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代...
PAT 1014 福尔摩斯的约会 python
1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;amp;hgsfdk d&amp;amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2...
PAT答案(福尔摩斯的约会)
题目链接 https://www.nowcoder.com/pat/6/problem/4040 代码 #include&amp;lt;stdio.h&amp;gt; #define MAX 60 int main() { char a[MAX]; char b[MAX]; char c[MAX]; char d[MAX]; char answer[2]; i...
福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会
#include&amp;lt;iostream&amp;gt;#include&amp;lt;string&amp;gt;using namespace std;int main(){ string s1; string s2; string s3; string s4; cin&amp;gt;&amp;gt;s1&amp;gt;&amp;gt;s2&amp;gt;&amp;gt;s3&amp;gt;&amp;gt;s4; int mark=0; ...
python 1014 福尔摩斯的约会 (20 分)
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;amp;hgsfdk d&amp;amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代...
1014 福尔摩斯的约会
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同...
C++ 1014 福尔摩斯的约会(20 分)
    方法1:(自写)(注意时间格式为   09:09) #include&amp;lt;iostream&amp;gt; #include&amp;lt;string.h&amp;gt; using namespace std; int main() { char day[7][5] ={&quot;MON&quot;,&quot;TUE&quot;,&quot;WED&quot;,&quot;THU&quot;,&quot;FRI&quot;,&quot;SAT&quot;,&quo
PAT 福尔摩斯的约会
题目描述 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’E’,那是第5个英文字母,代表一天里的第
gcc编译出现segmentation fault的错误
segmentation fault 即段错误,一般都是出现了非法的地址写操作导致的。 常见的有如下几种情况: 1、空指针访问。 如果指针为空(NULL), 那么对空指针的读写操作都会导致segmentation fault。 如 1 2 3 char *p = NULL; printf("%c",*p);//读操作
linux应用程序常见问题(Segmentation Fault)
在我们的linux嵌入式应用程序中,会有各种各样的死机问题(我这里提到的是用户态),出现死机的原因也是很多,其中中间一种最常见的一种就是段错误啦。 1. 段错误是什么  段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。下面是标准的解释,大家可以看下 A segmentation fault (o
(PAT乙级)福尔摩斯的约会(Python)
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天...
【已解决】Linux下出现Segmentation Fault(core dump)错误
今天被这个问题搞了半个小时,后来通过添加printf(...)语句的方法找到了错误原因,是因为在程序中错误的输出一个为空的字符串导致。。。 博客地址:http://www.cnblogs.com/panfeng412/archive/2011/11/06/segmentation-fault-in-linux.html 1. 段错误是什么 一句话来说,段错误是指访问的内存超出
unix等系统出现断错误(Segmentation Fault)的总结
最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。  1. 段错误是什么  一句话来说,段错误是指访问的内存超出了系统给这个程序所设定
centos使用yum时提示Segmentation fault错误的深入研究
头一次用CentOS,结果就遇到了在用yum时出现了centos使用yum时提示Segmentation fault,这个错误的解决方法网上不少,但是我测试了一下发现不是那么回事,最后几经研究终于搞定 最典型的解决方法莫过于这个贴里提到的 http://hi.baidu.com/zys1234/item/f9282042038de4d2c0a5926b 但是很可惜,我测试了没有效果 然
解决Qt Debug总是Segmentation fault的一种方法
最近两天用Qt编程序,只要一Debug,总是出现这个问题,令人很恼火: 一开始我还错怪我的机器,心想Mac air bootcamp win7就是bug多啊,直到看到了这个网页:http://lazarus.freepascal.org/index.php?topic=6225.30 受到里面一段中文的提示,我把comodo防火墙关了,问题立马解决,可以正常debug了。 防火墙
Linux下segmentation fault(段错误)产生的原因及调试方法
http://grepk.com/?p=573
Linux环境下段错误(Segmentation fault)的产生原因及调试方法
linux开发经常会发生Segmentation fault问题,这是网上看到的一篇博文,共享给大家;有需要的下载。
linux段错误(Segmentation fault)调试方式
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。 下面将就以下的一个存在段错误的程序介绍几种调试方法:
Linux下的段错误(segmentation fault)产生的原因及调试方法
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gd
linux下(ubuntu),段错误产生的原因Segmentation Fault
1、在编程中以下几类做法容易导致段错误,基本是是 错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据:最常见就是给一个指针以0地址(访问了系统保护的内存地址) 如: #include #include void main() {         int *ptr = (int *)0;         *ptr = 100; } 2)向只读的内存地址中写
程序一运行,就出现Segmentation fault
交叉编译后,运行程序,程序一运行,就出现Segmentation fault。 在main函数开头加入打印调试,发现程序都没有进入main函数就出错。 猜测:估计是类的初始化调用构造函数或者全局变量的初始化引起的错误。   一步一步的屏蔽,最终发现是一个全局变量分配的内存太大,引起的错误。...
Segmentation fault到底怎么回事
(备注:我的glibc版本是2.12,GCC版本4.4.6,内核版本2.6.32-279)    Linux上开发时最恼火的就是遇到“Segmetation Fault”错误。为什么这么说,很多人看到这个错误后心里第一反应是程序访问的非法的内存,导致其被操作系统强行终止。这固然没错,可这里有个比较模糊的概念了:什么叫“非法”的内存?    程序运行时,每个进程都有自己的虚拟地址,理论上说进
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习笔记4 虚幻4游戏开发视频