题目 1466: 蓝桥杯基础练习VIP-字符串对比
时间限制: 1Sec 内存限制: 512MB 提交: 7393 解决: 4209
题目描述
给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
1:两个字符串长度不等。比如 Beijing 和 Hebei
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。
输入
包括两行,每行都是一个字符串
输出
仅有一个数字,表明这两个字符串的关系编号
样例输入复制
BEIjing beiJing
样例输出复制
3
#include<bits/stdc++.h>
using namespace std;
int main()
{
int flag=3;
string s1,s2;
cin>>s1>>s2;
int ret;
ret=s1.compare(s2); //比较字符串函数,相同则为0
int len1,len2;
len1=s1.size();
len2=s2.size();
if(len1!=len2)
{
printf("1");
return 0;
}
if(ret==0)
{
printf("2");
return 0;
}
for(int i=0;i<=len1;i++)
{
s1[i]=tolower(s1[i]); // 字符的小写形式,大写形式为函数toupper
s2[i]=tolower(s2[i]);
if(s1[i]!=s2[i])
{
flag=4;
break;
}
}
if(flag==3) printf("3");
else if(flag==4) printf("4");
}