AT—ケース・センシティブ 题解

题目传送门

更好的阅读体验?

思路:

  • 使用 string 类型存给出的两个字符串,方便以后进行判断。

  • 分情况讨论

  1. 如果给出的两个字符串直接相等,输出 same
  2. 否则,可以先判断这两个字符串长度是否相等,若不等就可以输出 different
  3. 若长度也相等,再把这两个字符串中的所有大写字母转为小写字母(也可以小写转大写),再进行判断。
  • 若两个字符串相等,输出 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;
}
posted @ 2025-02-08 16:42  Wy_x  阅读(8)  评论(0)    收藏  举报