蓝桥杯 基础练习 字符串对比c++

试题 基础练习 字符串对比

题目要求

资源限制
时间限制:1.0s 内存限制:512.0MB

问题描述
  给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
  1:两个字符串长度不等。比如 Beijing 和 Hebei
  2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
  3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
  4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
  编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。
  
输入格式
  包括两行,每行都是一个字符串
  
输出格式
  仅有一个数字,表明这两个字符串的关系编号
  
样例输入
BEIjing
beiJing

样例输出
3

提示

可以用a.compare(b)比较,区分大小写,结果等于0则两者相等;

代码实现

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a;
    string b;
    cin>>a;
    cin>>b;
    if(a.length()!=b.length()) cout<<1<<endl;
    //else if(a.compare(b)==0) cout<<2<<endl; 方法1
    else
    {
        int flag=0;
        for(int i=0;i<a.length();i++)
        {
            if(a[i]!=b[i]&&((a[i]-b[i]==32)||(b[i]-a[i])==32))
            {
                flag=3;break;
            }
            if(a[i]!=b[i]&&(a[i]-b[i])!=32&&(b[i]-a[i])!=32)
            {
                flag=4;
                break;
            }
        }
        if(flag==4) cout<<4<<endl;
        else if(flag==3) cout<<3<<endl;
        else if(flag==0) cout<<2<<endl;//方法2
    }
    return 0;
}


有更简单的办法欢迎大家留言~
共同进步吧!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以通过以下几个步骤来准备蓝桥杯C/C++比赛: 1. 学习C/C++语言基础知识,包括语法、数据类型、运算符、流程控制等。 2. 练习编写算法和数据结构,例如排序、查找、树、图等。 3. 参加在线编程练习,例如LeetCode、洛谷、牛客网等,提高编程能力和解题能力。 4. 阅读蓝桥杯历年真题,了解比赛的考察范围和难度。 5. 参加模拟赛和培训班,提高比赛经验和技巧。 希望以上建议能够帮助你准备蓝桥杯C/C++比赛。 ### 回答2: 准备蓝桥杯C/C++编程比赛的关键步骤如下: 1. 学习C/C++语言基础知识:了解C/C++的语法规则和常用库函数,掌握变量的定义和使用、条件语句、循环结构等编程基本概念。 2. 理解算法和数据结构:熟悉常用的算法和数据结构,包括数组、字符串、链表、栈、队列和树等,能够灵活运用它们解决实际问题。 3. 多做编程练习题:通过做一些编程练习题提高自己的编程能力,例如POJ、LeetCode等在线编程平台上的题目可以供选择。多做一些具有挑战性的题目,加深对算法和数据结构的理解,并培养解决问题的思维方式。 4. 查阅相关资料:阅读一些与蓝桥杯竞赛相关的书籍和网上的教程,了解考试的题型、要求和考察的重点,提前准备一些常见的题型并查找相关实例。 5. 组队参加训练:找一些具有一定编程实力的同学组成队伍,一起参加C/C++编程训练营或组织小规模的训练,相互讨论问题,共同进步。 6. 参加模拟赛:参加一些模拟赛进行考试模拟训练,熟悉考试流程、时间管理和答题技巧。 7. 时间规划和备考:根据自己的实际情况,合理安排备考时间,多进行编程实践,磨练自己的编程技能,并适当进行复习和总结。 8. 勇敢参赛:在比赛开始前保持积极心态,相信自己的实力,充分发挥已掌握的知识和技能,勇敢去参赛并努力取得好成绩。 通过以上准备措施,可以提高解题速度、优化代码逻辑,加强对算法和数据结构的理解,并增强在C/C++编程方面的技能,为蓝桥杯C/C++编程比赛做好充分准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值