洛谷 / 题目列表 / 题目详情 CF112A Petya and Strings
输入两个字符串,大小写无关紧要,比较它们的大小。
输入格式
两个字符串(保证长度相等)
输出格式
如果第一个字符串小于第二个字符串,则输出“-1”。如果第二个字符串小于第一个字符串,则输出“1”。如果字符串相同,则打印“0”。请注意,比较字符串时不考虑字母的大小写。
输入输出样例
输入 #1
aaaa aaaA
输出 #1
0
输入 #2
abs Abz
输出 #2
-1
输入 #3
abcdefg AbCdEfF
输出 #3
1
#include<iostream>
#include<cstring>
using namespace std;
int main()
{string str1,str2;
int i,j,n,result;
cin>>str1>>str2; //输入两串字符
for(i=0;i<str1.size();i++)
{auto n=str1.at(i);
if(n>='A'&&n<='Z')
str1.at(i) =n+32;}
//将str1中的大写字母转化为小写字母
for(j=0;j<str2.size();j++)
{auto n=str2.at(j);
if(n>='A'&&n<='Z')
str2.at(j)=n+32;}
//将str2中的大写字母转化为小写字母
if(str1>str2)
{ result=1;}
else if(str1<str2)
{result=-1;}
else if(str1==str2)
{result=0;}
cout<<result<<endl;
return 0; //比较大小,输出result。
}
标题1 string的构造函数的基本形式
string str:生成空字符串
string s(str):生成字符串为str的复制品
string s(str, strbegin,strlen):将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值
string s(cstr, char_len):以C_string类型cstr的前char_len个字符串作为字符串s的初值
string s(num ,c):生成num个c字符的字符串
string s(str, stridx):将字符串str中从下标stridx开始到字符串结束的位置作为字符串初值
标题2 string的大小和容量
1. size()和length():返回string对象的字符个数,他们执行效果相同。
2. max_size():返回string对象最多包含的字符数,超出会抛出length_error异常