这道题有两个方法:
方法1:
#include<iostream>
using namespace std;
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
string n,m;
char tmpm,tmpn;
getline(cin,n);
getline(cin,m);
int min=m.size();
if(n.size()<min)
min=n.size();
for(int i=0;i<min;i++)
{
tmpn=tolower(n[i]);
tmpm=tolower(m[i]);
if(tmpn>tmpm)
{
cout << '>' << endl;
return 0;
}
else if(tmpn<tmpm)
{
cout << '<' << endl;
return 0;
}
}
if(n.size()==m.size())
cout << '=' << endl;
else if(n.size()<m.size())
cout << '<' << endl;
else
cout << '>' << endl;
//fclose(stdin);
//fclose(stdout);
return 0;
}
方法2:
#include<iostream>
using namespace std;
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
string n,m;
getline(cin,n);
getline(cin,m);
for(int i=0;i<m.size();i++)
m[i]=tolower(m[i]);
for(int i=0;i<n.size();i++)
n[i]=tolower(n[i]);
if(n>m)
cout << '>' << endl;
else if(n<m)
cout << '<' << endl;
else
cout << '=' << endl;
//fclose(stdin);
//fclose(stdout);
return 0;
}
做这道题时我先是不知道怎么转小写,后来查了笔记才知道。然后是不知道什么是字典序,后来明白了字典序是对位比,如果相等就比下一位。