首页 > 其他分享 >字符串左旋(c语言)

字符串左旋(c语言)

时间:2024-08-07 18:23:32浏览次数:12  
标签:arr right 语言 int char left 字符串 左旋 逆序

1.字符串左旋
//实现一个函数,可以左旋字符串的k个字符

例如:ABCD左旋字符串的1个字符BCDA

          ABCD左旋字符串的2个字符CDAB

2.第一步我们先输入k(scanf),将第一位进行储存,然后其他位先前走一位,然后将第一位放在最后,然后进行打印。

方法一

#include<stdio.h>
void test(char arr[],int k)
{
	int str = strlen(arr);
	for (int i = 0; i < k; i++)
	{
		//1.
		char tmp = arr[0];
		//2
		for (int j = 0; j < str - 1; j++)
		{
			arr[j] = arr[j + 1];
		}
		//3
		arr[str - 1] = tmp;
	}
}
int main()
{
	int k = 0;
	scanf_s("%d", &k);
	char arr[] = { "ABCD" };
	test(arr, k);
	printf("%s\n", arr);
	return 0;
}

方法二 

左边逆序,右边逆序,然后整体逆序,可以进行函数调用

例如·:(a b)(c d e f)

逆序:  (b a)(f e d c)

整型逆序:(c d e f a b)

//方法二
void lixu(char*left, char*right)
{
	while (left < right)
	{
		int tmp = *right;
		*right = *left;
		*left = tmp;
		left++;
		right--;
	}
}
void test(char arr[], int k)
{
	int len = strlen(arr);
  k%=len;
	lixu(arr, arr + k - 1);//左边
	lixu(arr+k, arr + len-1);//右边
	lixu(arr, arr + len-1);//整体

}
int main()
{
	int k = 0;
	scanf_s("%d", &k);
	char arr[] = { "abcdef" };
	test(arr, k);
	printf("%s\n", arr);
	return 0;
}

标签:arr,right,语言,int,char,left,字符串,左旋,逆序
From: https://blog.csdn.net/scy2429828663/article/details/140998371

相关文章

  • C语言实现猜数字小游戏
    游戏要求:1.电脑自动生成1-100的随机数2.玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了还是小了的反馈,直到猜对游戏结束1.随机数的生产C语言提供了一个函数叫rand,这个函数可以生产随机数,函数的原型如下所示:rand函数会返回一个伪随机数,这个随机数的大小是在0-32767(......
  • condition字符串匹配问题
      概述freeswitch是一款简单好用的VOIP开源软交换平台。fs使用dialplan配置文件执行业务流程,condition条件变量的配置是必然会使用的,这里记录一次配置过程中的错误示范。环境CentOS7.9freeswitch1.10.7问题描述dialplan配置如下,本意是根据通道变量${poolType}的值,......
  • 上海泗博技术分享:kepware如何读取西门子PLC的中文字符串?
    随着信息化水平的不断提升,实际生产运行过程中,各类PLC不可避免地需要应对字符信息的应用场景,这种需求日益凸显,对于提高生产效率和数据管理的精准性至关重要。考虑到国内环境的需求,中文字符串的支持也成为项目改造和应用的重要环节。一些报警信息和事件如果可以通过中文字符串的形式......
  • 腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发
    腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发......
  • 以 \n 作为字节读取字节字符串
    我有一个字节字符串,我想将其读入python中。该字符串是从numpyfloat64到字节的浮点转换。问题是我的一些数据在转换时最终将换行符'\n'字符作为字节。如何阻止python继续运行当遇到“\n”字符时很疯狂这是我的数据value:np.float64=np.float64(0.054765......
  • [MRCTF2020]套娃 php字符串解析绕过,jsfuck编码
    进来看到代码<!--//1st$query=$_SERVER['QUERY_STRING'];if(substr_count($query,'_')!==0||substr_count($query,'%5f')!=0){die('Y0uareSocutE!');}if($_GET['b_u_p_t']!=='23333'......
  • C语言随机数的生成
    目录前言一、 随机数⽣成1.rand2.srand 3.time4.设置随机数的范围 总结前言我们在前面已经学到了分支和循环结果,掌握了前面的知识,我们已经可以写一点有趣的代码了一、 随机数⽣成要想完成猜数字游戏,⾸先得产⽣随机数,那怎么产⽣随机数呢?1.randC语⾔提供了⼀......
  • C语言 操作符详解
    目录一、操作符的分类二、二进制和进制转换 2.1二进制转十进制 2.2二进制转八进制 2.3二进制转十六进制 三、原码、反码、补码四、移位操作符4.1左移操作符​编辑 4.2右移操作符五、位操作符按位与:&按位或:|按位异或:^按位取反:~六、逗号表达式七、操作......
  • Java实现字符串中字符出现次数统计
    在编程过程中,我们经常需要对字符串进行处理。今天,我将为大家分享一个Java示例,用于统计字符串中每个字符出现的次数。让我们一起来看看吧!在日常生活中,我们经常会遇到需要统计字符串中字符出现次数的场景。例如,统计一篇文章中各个字母的出现次数,以便进行词频分析。本文将带大家......
  • 《重生到现代之从零开始的C语言生活》—— 调试
    前言:调试是几乎每一个计算机行业的人员必备的技能,那么让我们来学习一下吧bugbug这个词好像出现在生活的很多地方,一般指在电脑系统中或程序中,隐藏着一些未被发现的缺陷和问题,简称程序漏洞调试(debug)我们发现bug后,下一步就是找到问题并修复问题,找问题的过程就是调试调试一......