蓝桥杯 BASIC-15 基础练习 字符串对比_字符对比-程序员宅基地

技术标签: 蓝桥杯  

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

#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
    
	string a,b;
	cin>>a>>b;
	int flag1=0;
	if(a.length()!=b.length() )
	  {
    
	  	cout<<1;
	  	return 0;
	  }
	if(a==b) cout<<2;
	else
	{
     
	for(int i=0;i<a.length() ;i++)
    {
    
    	
    	if(tolower(a[i])!=tolower(b[i]))
    	{
    
    		flag1=1;
		}
	}	
	if(flag1==0) cout<<3;
	else cout<<4;
	}
	return 0;
}

  • 为什么要有两个flag?
    因为要在循环完之后才输出,如果在循环里就输出flag再用这个flag,会出现cout好几次的情况
  • 怎么样直接跳出
    循环外用return 0;
    循环内用break;
  • 在小范围的{ }内定义变量,在{ }外便不能使用,这种情况会出现控制台输出直接为空的情况
  • 题目要求比较繁琐,不断的调试就会成功

下边这个是我的错误代码,改改改,改改改,改改改,改改改,终于知道我错误在哪了!我判断的只是字符串的其中一个字符,但是其实需要遍历完整个字符串才能出现结果,所以需要flag标记。同时这个flag要在循环体外输出,不然会重复输出多次flag。

#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
    
	string a,b;
	cin>>a;
	cin>>b;
	int lena=a.length() ;
	int lenb=b.length() ;
	if(lena!=lenb) 
	{
    
    	cout<<1;
	    return 0;
	}
	for(int i=0;i<lena;i++)
	{
    
		if(a[i]==b[i])
		{
    
			cout<<2;
			break;
		}
		else if((tolower(a[i])==tolower(b[i])))
		{
    
			cout<<3;
			break;
		}
		else
		{
    
			cout<<4;
		    break;
		}
	}
	return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/YUqiongqlm_/article/details/109099031

智能推荐

【音频编码】AAC编码之FDK AAC_fdkaac-程序员宅基地

文章浏览阅读1.4w次,点赞6次,收藏24次。近期需要做AAC编码,看了下几个开源的AAC编码库,综合考虑,最终选了fdk aac编码库。主要有以下几点原因:1. 开源、音质好(目前认为是开源AAC编码器里音质最好的)2. 音质,顺序大概是libfdk_aac&gt;libfaac&gt;aac&gt;libvo_aacenc3. 支持LC-AAC、HE-AAC、HE-AAC V2等多种编码下载链接http://www.lin..._fdkaac

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于H5宠物俱乐部设计与实现m2vai-程序员宅基地

文章浏览阅读70次。选题部分,每个学校的情况不一样,有些学校的毕业毕业设计选题是老师给定的,同学只用根据给定的毕业设计题开展写作就可以了,但是还有一些学校是没有给定毕业设计题目的,让同学们自主选择自己的毕业设计题目。首先,在进行选题的时候,同学们一定要选择自己感兴趣的论题,因为一旦确定论题,就需要花相当一段时间接触并研究这个问题。ssm基于SSM的社区疫情防控管理信息系统的设计与实现khjit。ssm基于SSM的资产管理平台的设计与实现hx448。ssm基于vue的木里风景文化管理平台d4uh5。

集成学习-Blending算法_blending集成算法-程序员宅基地

文章浏览阅读2.6k次,点赞4次,收藏15次。集成学习(又称模型融合)就是结合若干个体分类器(基学习器)进行综合预测,各个个体学习器通常是弱学习器。集成学习相较于个体学习在预测准确率以及稳定性上都有很大的提高。普通机器学习:从训练数据中学习一个假设。集成方法:试图构建一组假设并将它们组合起来,集成学习是一种机器学习范式,多个学习器被训练来解决同一个问题。集成方法分类为:Bagging(并行训练):随机森林 Boosting(串行训练):Adaboost; GBDT; XgBoost Stacking: Blending:或者_blending集成算法

一文读懂CAN总线通信和CANoe开发_canoe 协议和can协议-程序员宅基地

文章浏览阅读1.4k次,点赞39次,收藏21次。CAN、CANoe_canoe 协议和can协议

互联网、政务外网、政务专网、政务内网的区别_政务网和互联网-程序员宅基地

文章浏览阅读2k次。政府门户网是建立在互联网平台上的各级政务机关面向社会开展服务的电子政务窗口,它以政务外网信息资源为支撑并整合了各级政务部门的公众信息资源,推 进政务公开,扩大服务范围和对外宣传,开展政府与公众的沟通和交流,是政务信息服务的枢纽和接受社会监督的窗口,其主要作用是对外发布政务信息。另外,由于专网非涉密,可实现广泛的内部互联,还可以与外网实现安全的信息交换,因此,政务专网完全能够作为不涉及党和国家秘密的内部业务流程和信息处理的主要平台,并形成公共服务的外网受理,内(专)网办理以及外网反馈的闭环机制。_政务网和互联网

消除pycharm中的波浪线和黄色警告_python黄色感叹号-程序员宅基地

文章浏览阅读6.4w次,点赞40次,收藏172次。就我看到的pycharm中的波浪线有3种颜色:黄色、绿色和红色黄色波浪线:是提醒用户代码不规范解决方法:使用Code菜单下的Reformat Code功能即可。当然格式化快捷键更方便:Ctrl+Alt+L以下是pycharm中一些代码规范标准:函数定义的前面和后面都要有两个空行,=、+、*、/等运算符两边都要有一个空格,#用作注释时,后面要留出一个空格,如果不是在行首,前面也要留出两个空格,等等。详细的请看:https://www.cnblogs.com/liangmingshen/p/9_python黄色感叹号

随便推点

JRebel热部署插件手动触发_jrebel怎么手动触发-程序员宅基地

文章浏览阅读3k次,点赞6次,收藏8次。1.idea安装插件然后重启idea2.如图勾选对应的项目,使用Jrebel插件管理上当前项目。3. EditConfigurations -->On ‘Update’ action: 修改为Update classes and resources选项点击确认,然后重启idea4.使用:每次修改完代码点击此处即可..._jrebel怎么手动触发

C++调用约定和名字约定-程序员宅基地

文章浏览阅读53次。 调用约定是指程序在函数调用时传递參数和获取返回值所採用的方法:通过寄存器、或通过栈、或者是两者的混合。用于指定Calling Convention的修饰符主要有:__cdecl,__stdcall,__fastcall等。调用约定能够通过project设置:Setting...\C/C++ \Advanced\CallingConvention 项进行选择,缺省状态为__..._callback、winapi、afxapi到底是什么,它们分别在什么地方被定义的

python钉钉自动打卡_GitHub - 1414044032/DingDingAutoPlayCard: 钉钉自动上下班打卡辅助,基于Python,adb,实现,打卡后自动发送邮件提醒。flask...-程序员宅基地

文章浏览阅读941次。DingDingAutoPlayCard钉钉自动上下班打卡辅助2019-11-26 更新.(粗糙)新增web界面生成配置。移除多个版本,只保留打卡以及发送邮件。依赖:flask ,apscheduler,flask_script原理:安装与使用本机需要安装adb,项目根目录提供了windows下adb安装包。启动web服务(生成配置文件)python manage.py runserver根据网页..._python 如何钉钉自动打卡

轻松入门大数据 第11章 入门到进阶:如何快速学会Hive调优 11.1 Hive调优 11.1.9 Hive4大by总结-程序员宅基地

文章浏览阅读23次。轻松入门大数据 第11章 入门到进阶:如何快速学会Hive调优 11.1 Hive调优 11.1.9 Hive4大by总结

xsd验证允许空值_xsd 数据校验 数值不可空-程序员宅基地

文章浏览阅读4.1k次。/////xsd 文档 ////xml文件 bb cc 2001-01-01 //////////1.如果没有 xsi:ni_xsd 数据校验 数值不可空

试用阿里云云拨测对Web网站的网页性能进行测试并分析_web拨测平台-程序员宅基地

文章浏览阅读1.4k次。利用分布于全球的监测网络,以真实终端用户使用场景为视角,提供模拟终端用户体验的拨测服务。 可实现对网络质量、页面性能、端口性能、文件传输、音视频体验等场景进行周期性监控,支持多维度分析性能指标。利用可视化性能数据和告警通知可帮助您及时对业务质量作出反应,保证业务稳定正常运行。_web拨测平台

推荐文章

热门文章

相关标签