这道题目很水,却让我复习了一个知识点,字符串的比较规则:
首先字符串比较规则如下:
比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。 比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。 再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。 所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。直接代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
string a,b;
int main()
{
int i,j,len1,len2;
getline(cin,a);//这是c++中的字符串的输入!
getline(cin,b);
for(i=0; a[i]!='\0'; i++)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;//全部化成小写,更好比较!
}
for(i=0; b[i]!='\0'; i++)
{
if(b[i]>='A'&&b[i]<='Z')
b[i]=b[i]+32;
}
if(a==b)printf("0\n");
else if(a<b)printf("-1\n");
else if(a>b)printf("1\n");
return 0;
}