题目描述
768.忽略大小写比较字符串大小
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char a[100],b[100];
cin.getline(a,100);
cin.getline(b,100);
//将大写转为小写,统一
for(int i=0;a[i];i++)
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
for(int i=0;b[i];i++)
if(b[i]>='A'&&b[i]<='Z')
b[i]+=32;
int t=strcmp(a,b);
if(t==0) puts("=");
else if(t<0) puts("<");
else puts(">");
return 0;
}
如果不用cin.getline输入,而是要采用fgets输入,由于fgets输入时包含回车,需要判断一下。不建议用fgets
cin.getline(a,100);
cin.getline(b,100);
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char a[100],b[100];
fgets(a,100,stdin);
fgets(b,100,stdin);
//去掉末尾回车
if(a[strlen(a)-1]=='\n')
a[strlen(a)-1]=0;
if(b[strlen(b)-1]=='\n')
b[strlen(b)-1]=0;
//将大写转为小写,统一
for(int i=0;a[i];i++)
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
for(int i=0;b[i];i++)
if(b[i]>='A'&&b[i]<='Z')
b[i]+=32;
int t=strcmp(a,b);
if(t==0) puts("=");
else if(t<0) puts("<");
else puts(">");
return 0;
}