首页 > 其他分享 >字符旋转的结果(c语言)

字符旋转的结果(c语言)

时间:2024-08-08 17:23:11浏览次数:17  
标签:字符 return 语言 int len 旋转 char arr2 arr1

1.字符旋转的结果
//写一个函数,判断一个字符是否为另一个字符串旋转之后的字符串
//是返回1,不是返回0

2.方法一:我们可以使用字符旋转,进行一一比较。如果相等是返回1,如果不是返回0,将第一位存储起来,其他位先前相加,然后将第一位放在最后一位,进行比较,如果没有相等,那在++进行比较.

#include<stdio.h>
#include<assert.h>
//方法一
int test(char arr1[], char arr2[])
{
	assert(arr1 && arr2);
	int len = strlen(arr1);
	for (int j = 0; j < len; j++)
	{
		if (arr1 != arr2)
		{
			
			char tmp = arr1[0];
			
			int len = strlen(arr1);
			for (int i = 0; i < len - 1; i++)
			{
				arr1[i] = arr1[i + 1];
			}
			arr1[len - 1] = tmp;
		}
		if(*arr1==*arr2)
		{
			return 1;
		}
	}
	return 0;
}
int main()
{
	char arr1[] = { "ABCDEF" };
	char arr2[] = { "abcd" };
	int ret=test(arr1, arr2);
	printf("%d", ret);
	return 0;
}

2.方法二:我们可以使用库函数strncat和strstr函数,第一步自身相加

例如 abcdef

        abcdefabcdef

//方法二
int test(char arr1[], char arr2[])
{
	int len1 = strlen(arr1);
	int len2= strlen(arr2);
	if (len1 != len2)
		return 0;
	//库函数使用
	strncat(arr1, arr2,len1);
	char*a=strstr(arr1, arr2);
	if (a == NULL)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}
int main()
{
	char arr1[] = { "ABCDEF" };
	//自己给自己追加字符串  ABCDEFABCDEF判断是否与arr2相等
	char arr2[] = { "abcd" };
	int ret = test(arr1, arr2);
	printf("%d", ret);
	return 0;
}

标签:字符,return,语言,int,len,旋转,char,arr2,arr1
From: https://blog.csdn.net/scy2429828663/article/details/141032085

相关文章

  • 19:Python字符串格式化
    #字符串格式化,用两种方法:百分号和format方式,百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。#百分号(%)是一个运算符,用于进行字符串格式化、取模运算和格式化输出#百分号方式##%[(name)][flags][width].[precision]typecode##(name)......
  • Python 汉字区位码、字符串 相互转换
    Python汉字区位码、字符串相互转换区位码简介GB2312所有字符放在一张94x94的矩阵中,矩阵中的每个位置对应一个字符(有的位置是空的,没有字符)。区位码为十进制四位数,前后两位分别代表该字符在矩阵中的行、列坐标(均从1算起),如4528“图”字,为45行、28列上的字符。能通过对区位码进......
  • 【C语言】一篇文章搞定C语言最难指针
    目录一、内存和地址(1)什么是内存的地址(2)如何寻找指定的内存地址(3)CPU和内存传递数据的方式二、指针变量和地址(1)取地址操作符(2)指针变量(3)解引用操作符(4)指针变量的大小(5)指针变量的类型的意义 ①指针的解引用②指针+/-整数③void*指针三、const修饰指针(1)cons......
  • UnicodeEncodeError:“ascii”编解码器无法对位置 20 中的字符 u'\xa0' 进行编码:序号
    我在处理从不同网页(在不同站点上)获取的文本中的unicode字符时遇到问题。我正在使用BeautifulSoup。问题是错误并不总是可重现的;它有时适用于某些页面,有时,它会因抛出UnicodeEncodeError而呕吐。我已经尝试了几乎所有我能想到的方法,但我还没有找到任何可以一致工作......
  • 预训练语言模型去偏方法——与特定任务相关
     一、对抗学习1.1 ADV-标准对抗主要思想:防止鉴别器识别受保护的属性。以对抗性方法训练模型,并明确掩盖受保护信息。损失函数:1.2 EADV-优化对抗ADV存在的问题:在某些情况下,即使对抗性组件似乎做得很完美,仍有相当数量的受保护信息,并且可以从编码的表......
  • python 无法解密重音字符(如 è),我该怎么办?
    我正在解决这个ctf,您必须使用PyCryptodome模块通过DES加密消息。消息是“Launghezzadiquestafrasenonèdivisibileper8”(意大利语)。我无法将此消息转换为字节,因为重音字符不包含在utf-8中(我认为这就是解释)。有人可以帮我加密消息吗?fromCrypto.Util.Paddingimp......
  • R语言读取和修改 fcs文件
    记住要从上往下一个一个包的安装,已经安装了的就不用安装,如果就是读取和修改fcs文件,只需要安装flowCore包就可以了。if(!requireNamespace("BiocManager",quietly=TRUE))install.packages("BiocManager")##数据源:BiocManager::install("flowWorkspaceData")##数据......
  • 新手的第一个c语言小程序
      作为一个C语言的新手,我深知要想精通这门语言,就必须通过不断的练习来积累经验。因此,我决定从解决高中数学问题入手,编写我的第一个C语言小程序。  显然,高中的许多数学问题复杂难解,对于我这个初学者来说,理解答案本身就已经是一项挑战,更不用说用程序来求解了。所以,我选择了......
  • R语言中,‌$ 和 @ 符号用于访问对象的不同部分
    在R语言中,‌$ 和 @ 符号用于访问对象的不同部分,‌具体含义如下:‌在R语言中,‌$ 和 @ 符号用于访问对象的不同部分,‌具体含义如下:‌ $ 符号:‌在R语言中,‌$ 符号主要用于从一个数据框(‌dataframe)‌中提取某一列的数据。‌例如,‌如果你有一个名为 df 的数据框,‌并且想......
  • nuxt2 语言国际化 + element国际化
    踩坑:element国际化动态设置语言必须使用服务端中的store状态才可以importVueI18nfrom'vue-i18n'importenLocalefrom'element-ui/lib/locale/lang/en'importElementLocalefrom'element-ui/lib/locale';//导入ElementUI的语言包importcnLocalefrom'e......