ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【蓝桥杯每日一练】字符串对比

2022-01-23 22:04:41  阅读:199  来源: 互联网

标签:lb 函数 la strcmp 蓝桥 大小写 字符串 对比


一、题目描述

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

输入

包括两行,每行都是一个字符串

输出

仅有一个数字,表明这两个字符串的关系编号

二、样例

样例输入

BEIjing

beiJing

样例输出

3

三、个人解析 

这道题其实很简单,只需要掌握几个函数就行。其中strlen()函数、strcmp()函数在本人之前发布的《【C语言】输入字符串,将字符串逆转》中有提到。但此次练习还加入了stricmp()函数,此函数与strcmp()函数的不同之处在于:strcmp()函数区分字符串的大小写,例如:BEIJING和beijing使用strcmp()函数进行判断字符串后不能将其判断为相同字符串;而stricmp()进行判断时能够忽略其大小写的不同,判断为相同字符串。

四、C语言代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main() {
	int a[11],b[11];
	int la,lb,i,j;
	scanf("%s%s",&a,&b);
	la=strlen(a);
	lb=strlen(b);
	i=strcmp(a,b);
	j=stricmp(a,b);
	if(la!=lb)
	{
		printf("1");
	}else if(la==lb&&i==0)
	{
		printf("2");
	}else if(la==lb&&j==0)
	{
		printf("3");
	}else if(la==lb&&(i<0||i>0))
	{
		printf("4");
	}
	return 0;
}

标签:lb,函数,la,strcmp,蓝桥,大小写,字符串,对比
来源: https://blog.csdn.net/m0_51171889/article/details/122657956

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有