用c++书写给出2个字符串,3485djDkxh4hhGE 2934akdfkhkkggEdsb 两字符串中出现的第 1 对相同的数字或者大写英文字母代表小时(一天的 0 点到 23 点由数字 0 到 9、以及大写字母A到N表示),第1对相同的小写字母的位置代表分钟,现在给出2个字符串,输出其中隐藏的时间。 如例子中第 1 对相同的小写英文字母是h,出现在第 9 个位置(从 0 开始计数)上,代表第 9 分钟。 第1对相同的大写英文字母是E, E是第 5 个英文字母,代表一天里的第 14 个钟头; 所以,时间是14:09
时间: 2024-04-12 21:28:56 浏览: 30
以下是使用C++编写的代码,可以找出两个字符串中隐藏的时间:
```cpp
#include <iostream>
#include <string>
// 判断字符是否为大写字母
bool isUpperCase(char c) {
return c >= 'A' && c <= 'Z';
}
// 判断字符是否为数字或大写字母
bool isDigitOrUpperCase(char c) {
return (c >= '0' && c <= '9') || isUpperCase(c);
}
int main() {
std::string str1, str2;
std::cout << "请输入两个字符串: ";
std::cin >> str1 >> str2;
int hour = -1, minute = -1;
// 遍历两个字符串,找到第一个相同的数字或大写字母
for (int i = 0; i < str1.length(); ++i) {
if (str1[i] == str2[i] && isDigitOrUpperCase(str1[i])) {
if (isUpperCase(str1[i])) {
hour = str1[i] - 'A';
} else {
minute = i;
}
// 如果同时找到了小时和分钟,则跳出循环
if (hour != -1 && minute != -1) {
break;
}
}
}
// 输出时间
if (hour >= 0 && hour <= 23 && minute >= 0 && minute <= 59) {
std::cout << "时间是 " << hour << ":" << minute << std::endl;
} else {
std::cout << "找不到隐藏的时间" << std::endl;
}
return 0;
}
```
你可以将以上代码保存为一个名为`time.cpp`的文件,然后使用C++编译器编译运行该程序。程序会要求你输入两个字符串,然后输出隐藏的时间。如果找不到隐藏的时间,则输出"找不到隐藏的时间"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)