福尔摩斯的约会——c++实现
【摘要】 该题就是寻找两个字符串中符合要求的相同的字符,星期:A~G小时:0~9或A~N分钟:a~z或A~Z由于星期的判定条件包含在小时中,所以我设了一个flag标志位,用来判断是否已找到星期的字符3. 具体代码实现#include<iostream>#include<string>using namespace std;int main(){ string s1,s2,s3,s4; ci...
该题就是寻找两个字符串中符合要求的相同的字符,
星期:A~G
小时:0~9或A~N
分钟:a~z或A~Z
由于星期的判定条件包含在小时中,所以我设了一个flag标志位,用来判断是否已找到星期的字符
3. 具体代码实现
#include<iostream>
#include<string>
using namespace std;
int main(){
string s1,s2,s3,s4;
cin>>s1>>s2>>s3>>s4;
string week[7]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
int flag=0; //判断是否已找到星期的字符
for(int i=0;i<s1.size()&&i<s2.size();i++){
if(s1[i]!=s2[i])
continue;
else {
if(flag==0&&s1[i]>='A'&&s1[i]<='G'){ //判断星期
cout<<week[s1[i]-'A']<<" ";
flag=1;
}
else if(flag==1&&(s1[i]>='0'&&s1[i]<='9'||s1[i]>='A'&&s1[i]<='N')){ //判断小时
if(s1[i]>='0'&&s1[i]<='9')
cout<<"0"<<s1[i]<<":";
else
cout<<s1[i]-'A'+10<<":";
break;
}
}
}
for(int j=0;j<s3.size()&&j<s4.size();j++)
if(s3[j]==s4[j]&&isalpha(s3[j])){ //判断分钟
printf("%02d",j);
break;
}
return 0;
}
4. 收获
代码中还用到了isalpha函数,判断是否是字母。此外,isalnum函数判断是否是数字或字母;isupper判断是否是大写字母;islower判断是否是小写字母
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)