字符串左旋(c语言)

news2024/11/15 8:44:14

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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式事务一站式解决方案-Seata

分布式事务一站式解决方案- 分布式事务一站式解决方案分布式事务产生背景三个概念Seata下载和安装实际业务模拟演示不加 GlobalTransactional 注解&#xff0c;正常操作下单不加 GlobalTransactional 注解&#xff0c;下单过程出异常或者超时了加 GlobalTransactional 注解&…

Shell定时上传日志到HDFS

Shell定时上传日志到HDFS 一、任务需求二、实现思路三、具体实现流程3.1 规划文件上传目录3.2 开发 shell 脚本3.3 授予 shell 可执行权限3.4 手动执行查看3.4 定时执行 shell 脚本 一、任务需求 公司在线服务器每天都会产生网站运行日志&#xff0c;为了避免志文件过大&#…

WPF学习笔记

WPF WPF&#xff08;Windows Presentation Foundation&#xff0c;Windows呈现基础&#xff09;是微软推出的基于Windows 的用户界面框架&#xff0c;属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架&#xff0c;真正做到了分离界面设计人员与开发人员的…

学习STM32(6)-- STM32单片机ADCDAC的应用

1 引 言 深入了解并掌握STM32F103单片机在模拟数字转换&#xff08;ADC&#xff09;和数字模拟转换&#xff08;DAC&#xff09;应用方面的功能和操作。学习如何配置STM32F103的ADC模块&#xff0c;实现模拟信号到数字信号的精确转换&#xff1b;同时&#xff0c;探索DAC模块…

【AI学习】[2024北京智源大会]具身智能:具身智能关键技术研究:操纵、决策、导航

具身智能关键技术研究&#xff1a;操纵、决策、导航 董 豪 | 北京大学助理教授 依然是边看边做些记录 这张图的重点是在说&#xff0c;我们的大脑&#xff0c;也是不同的部分处理不同的功能。这里面有些功能&#xff0c;比如视觉、听觉理解等功能&#xff0c;LLM已经具备&…

一键浪漫的回忆:微软开源的修复工具!!【送源码】

项目介绍 “Bringing-Old-Photos-Back-to-Life”是一款由微软开发的创新软件解决方案&#xff0c;它利用人工智能技术来修复和增强老旧照片的质量。这款工具可以解决老旧照片中常见的问题&#xff0c;如褪色、低分辨率以及物理损坏&#xff08;如划痕和撕裂&#xff09;。通过采…

分析 Vue3 Effect 函数看响应式依赖收集和触发更新过程

先给一个简单的实例&#xff0c;分析依赖收集和更新的过程 let obj { name: "hefeng6500", age: 10, flag: true }const state reactive(obj);effect(() > {app.innerHTML state.name state.age })setTimeout(() > {state.age 20 }, 1000)reactive 函数只…

吴恩达:如何系统学习机器学习?

最近在知乎圆桌里看到吴恩达的回答&#xff0c;【如何系统学习机器学习&#xff1f;】颇为惊喜&#xff0c;仿佛看到了知乎刚成立时的样子&#xff0c;请各个行业大佬来分享专业知识。 该回答目前已经有三千多赞&#xff0c;评论区也相当火爆&#xff0c;一片膜拜之声。 吴恩…

java学习19VUE

VUE NPM npm的全称是Node Package Manager 中文名为Node.js包管理器&#xff0c;是一个NodeJS包管理和分发工具&#xff0c;已经成为了非官方的发布Node模块(包)的标准。NPM可以方便地从一个全球的代码库中获取并安装Node.js模块&#xff0c;这些模块可以用于构建应用程序、…

开发框架DevExpress XAF v24.2产品路线图预览——增强跨平台性

DevExpress XAF是一款强大的现代应用程序框架&#xff0c;允许同时开发ASP.NET和WinForms。XAF采用模块化设计&#xff0c;开发人员可以选择内建模块&#xff0c;也可以自行创建&#xff0c;从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。 DevExpress XAF是一…

Python 之Scikit-learn(二) -- Scikit-learn标准化数据

在机器学习中&#xff0c;数据标准化是一项关键的预处理步骤。标准化&#xff08;Standardization&#xff09;是将数据转换为具有均值为0和标准差为1的分布。这样可以确保特征在相同的尺度上&#xff0c;有助于提升某些机器学习算法的性能和稳定性。 Scikit-learn提供了一个简…

一篇教会搭建ELK日志分析平台

日志分析的概述 日志分析是运维工程师解决系统故障&#xff0c;发现问题的主要手段日志主要包括系统日志、应用程序日志和安全日志系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因经常分析日志可以了解服务器的负荷&#xff0c;性…

Date类型的字段序列化成JSON字符串

我们发现收到的响应结果里面有一个参数为&#xff1a; 我们收到的时间字符串格式是由JSON序列化框架来决定的。 spring将JAVA数据类型的序列和反序列化为JSON字符串是依赖jackson(com.fasterxml.jackson.core:jackson-core)库来实现的。 Date类型的字段在序列化成JSON字符串时…

【人工智能】人工智能与机器学习的相关介绍

文章目录 人工智能的发展历程人工智能与机器学习关系图谱数据处理机器学习ML和深度学习DL的区别人工智能按照学习方式划分监督学习算法无监督学习算法总结 人工智能的发展历程 重要的时间点了解一下&#xff1a; 早在1950年人工智能就已经开始兴起 1997年deep blue战胜了人类国…

天津美术学院2024级专升本新生开学报道须知

天津美术学院2024级新生入学须知 亲爱的新同学&#xff1a; 祝贺你成为天津美术学院的新成员&#xff0c;开启新的求学历程&#xff01;为方便新生入学&#xff0c;现将有关事宜通知如下&#xff1a; 一、报到安排 1.报到时间&#xff1a;2024年9月6日上午8&#xff1a;30—…

MYSQL的引擎、清空数据的两种方式

目录 1.MYSQL引擎介绍 1.1MySQL的引擎作用&#xff1a; 1.2 MySQL的3类引擎 1.3 MyISAM和InnoDB的区别 1.4设定引擎 2. 清空数据有两种不同的方式 2.1 区别 1.MYSQL引擎介绍 MySQL有多种引擎&#xff0c;能执行create table、select等命令&#xff0c;在数据量不多时…

二十九、MongoDB(1)

&#x1f33b;&#x1f33b; 目录 一、MongoDB简介1.1 什么是 MongoDB1.2 MongoDB特点1.3 MongoDB 体系结构 二、下载与安装2.1 MongoDB下载2.2 在Linux 上的安装2.2.1 安装前的准备2.2.2 开始安装2.2.3 测试软链接启动 2.3 在windows上的安装 三、基本增删改查操作3.1 选择或创…

lvs防火墙mark标记解决调度问题

实验环境是在之前部署DR模式集群的基础上做的&#xff0c;参考如下 部署DR模式集群 以http和https为例&#xff0c;当我们在webserver中同时开放80和443端口&#xff0c;那么默认控制是分开轮询的&#xff0c;就会出现了一个轮询错乱的问题&#xff1a; 当第一次访问80被轮询…

浅谈基础的图算法——Tarjan求强联通分量算法(c++)

文章目录 强联通分量SCC概念例子有向图的DFS树代码例题讲解[POI2008] BLO-Blockade题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 思路AC代码 【模板】割点&#xff08;割顶&#xff09;题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示…

【论文分享】测量城市夜间活力及其与城市空间结构的关系:一种数据驱动的方法

近年来&#xff0c;夜间活力作为反映城市经济和生活质量的重要指标受到关注。本次我们给大家带来一篇SCI论文的全文翻译。该论文采用了数据驱动的方法来测量夜间活力&#xff0c;并探索了其与城市空间结构的关系。该论文派生的洞见可以帮助制定空间策略&#xff0c;以增强夜间活…