768. 忽略大小写比较字符串大小

一般我们用 strcmp 可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到 \0 为止。

如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。

但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如 Hello 和 hello 在忽略字母大小写时是相等的。

请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

输入格式
输入为两行,每行一个字符串,共两个字符串。注意字符串中可能包含空格。

数据保证每个字符串的长度都不超过 80。

输出格式
如果第一个字符串比第二个字符串小,输出一个字符 <。

如果第一个字符串比第二个字符串大,输出一个字符 >。

如果两个字符串相等,输出一个字符 =。

输入样例:

Hello
hello

输出样例:

=

AC

这个字符的大小写转换我捣鼓了老半天了啊啊啊啊啊啊
一直记不住
‘a’-‘A’=32
a大的码值要比A多出32来

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int main()
{
    string a,b;
    getline(cin,a);
    getline(cin,b);
    bool f=1;
    for(int i=0;i<max(a.length(),b.length());i++){
        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[i]<b[i]){
            f=0;
            cout << "<";
            break;
        }
        else if(a[i]>b[i]){
            f=0;
            cout<<">";
            break;
        }
    }
    if(f==1)
     cout<<"=";
}

优秀展览

看到别的写的代码时,我哭了。
我一直想找这个函数来着,呜呜呜,没有找到啊。

同样的题目都可以写的出来,但是我却话费了更大的力气。
在这里插入图片描述
题目原本的考察点可能是下面这个strcmp的比较函数以及它的返回值。
哎,又一次舍本逐末了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摆烂.MVP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值