[蓝桥杯][基础训练]字符串对比

Description

给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
1:两个字符串长度不等。比如 Beijing 和 Hebei
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing。
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。

Input

包括两行,每行都是一个字符串。

Output

仅有一个数字,表明这两个字符串的关系编号。

Sample Input

BEIjing
beiJing 

Sample Output

3


 1 #include<iostream>
 2 using namespace std;
 3 string trans(string a){
 4     for(int i=0;i<a.size();i++){//将所有字符都转换为大写字符 
 5         if(a[i]>'Z'){
 6             a[i]-=32;
 7         }
 8     }
 9     return a;
10 }
11 int main(){
12     string a;
13     string b;
14     cin>>a>>b;
15     if(a.size()!=b.size()){
16         printf("1");
17     }
18     else if(a==b){
19         printf("2");
20     }
21     else if(trans(a)==trans(b)){
22         printf("3");
23     }
24     else{
25         printf("4");
26     }
27     return 0;
28 }


比较难判断的是第三种情况:这里我们把所有字符都转换为大写,如果转换后的字符相同的话,就符合第三种情况了

原文地址:https://www.cnblogs.com/fate-/p/12289925.html