1014 福尔摩斯的约会

简介: 1014 福尔摩斯的约会

题目描述

点击直达题目链接

解题思路

本题就是在两个字符串中查找相同的字符,对相同的元素进行解释它所代表的意思。

注意:

1.星期要控制字符的范围为A到G

2.小时的范围为0到9,以及A到N

3.要%02d输出小时和分钟

代码

#include <stdio.h>
int ret[4];
void find1(char* s1,char* s2)
{
  int i =0,n=0;
  while (s1[i]&&s2[i])
  {
    if (s1[i] == s2[i])
    {
      if (s1[i] >= 'A' && s1[i] <= 'G')
      {
        ret[n++] = i;
      }
      else if(((s1[i] >= 'A' && s1[i] <= 'N') || (s1[i] >= '0' && s1[i] <= '9')) && n == 1)
      {
        ret[n++] = i;
      }
    }
    i++;
  }
}

void find2(char* s1, char* s2)
{
  int i = 0;
  while (s1[i] && s2[i])
  {
    if (s1[i] == s2[i])
    {
      if ((s1[i] >= 'A' && s1[i] <= 'Z')|| (s1[i] >= 'a' && s1[i] <= 'z'))
        ret[0] = i;
    }
    i++;
  }
}
int main()
{
  char a1[61], a2[61], b1[61], b2[61];
  char* day[] = { "MON","TUE","WED","THU","FRI","SAT","SUN" };
  scanf("%s%s%s%s", a1, a2, b1, b2);
  find1(a1, a2);//前两个串
  //下面这个是处理小时问题
  if (a1[ret[1]] >= 'A')
    ret[1] = a1[ret[1]] - 'A' + 10;
  else
    ret[1] = a1[ret[1]] - '0';
  printf("%s %02d", day[a1[ret[0]]-'A'], ret[1]);
  find2(b1, b2);//后两个串
  printf(":%02d", ret[0]);
  return 0;
}


相关文章
|
1月前
|
SQL 小程序 Java
情侣恋爱日记本
情侣恋爱日记本
|
机器学习/深度学习 Python
乌鸦喝水之谜
乌鸦喝水之谜
104 0
|
存储 人工智能 自然语言处理
ChatGPT 大智近妖,从宇宙人生到手搓光刻机,从哄女朋友到写年终总结我们聊得非常开心,反而让人越来越忧心
都说 ChatGPT 要干掉程序员,清理搜索引擎,取代 Stack Overflow,还能消灭人类,这些有些言过其实了。ChatGPT 的定位是一个人工智能助理,它说,它的主要目的是通过回答用户的问题,为用户提供帮助。在体验了一天后,我相信对它的调教是成为一个正直的人,它也是这样做的。 它谦虚有礼,无疑是一个合格的助理,确实可以为我们提供很大的帮助。生成的回答条理清晰,思路明确,令人信服。但是从刚接触的惊奇开心过后,随着时间推移,我却越来越忧心了。 以下的内容是我的体验过程和其中的思考,其中引用的部分为 ChatGPT 的回答内容。希望对你了解它有一些帮助。
307 1
ChatGPT 大智近妖,从宇宙人生到手搓光刻机,从哄女朋友到写年终总结我们聊得非常开心,反而让人越来越忧心
|
传感器 监控 小程序
|
算法 关系型数据库 定位技术
为什么订餐不会凉凉和牛顿发现万有引力有关
希望通过本次课题,与大家探讨订餐系统的技术难点及提出解决方案。
为什么订餐不会凉凉和牛顿发现万有引力有关