AT—ケース・センシティブ 题解
思路:
-
使用
string类型存给出的两个字符串,方便以后进行判断。 -
分情况讨论:
- 如果给出的两个字符串直接相等,输出
same。 - 否则,可以先判断这两个字符串长度是否相等,若不等就可以输出
different。 - 若长度也相等,再把这两个字符串中的所有大写字母转为小写字母(也可以小写转大写),再进行判断。
- 若两个字符串相等,输出
case-insensitive。- 否则,输出
different。
- AT 的题最后要有换行。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b;//STL 大法好
cin>>a>>b;
if(a==b) cout<<"same";//直接相等
else if(a.size()!=b.size()) cout<<"different";//长度不一样
else
{
for(int i=0;i<=a.size()-1;i++)
{
//把 a,b 中的大写字母转为小写
if(a[i]>='A'&&a[i]<='Z') a[i]=a[i]+32;
if(b[i]>='A'&&b[i]<='Z') b[i]=b[i]+32;
}
if(a==b) cout<<"case-insensitive";//不区分大小写后相等
else cout<<"different";//没有别的情况了,肯定不同
}
cout<<endl;//AT 的题最后要有换行
return 0;
}
以下是博客签名,正文无关
本文来自博客园,作者:Wy_x,转载请在文首注明原文链接:https://www.cnblogs.com/Wy-x/articles/18704596
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC-BY-NC-SA 4.0 协议)进行许可。

浙公网安备 33010602011771号