C语言实现字符串左旋n个字符

简介: C语言实现字符串左旋n个字符

目的:实现字符串左旋,例如ABCD,左旋一个字符成为BCDA,左旋两个字符成为CDAB

代码:

#include <stdio.h>
#include <string.h>
void turn(char arr[], int  n)
{ 
  for (int i = 0; i < n; i++)      //实现n次旋转
  {
    int tmp = arr[0];   //把开头的字符先存起来
    for (int j = 0; j < (strlen(arr) - 1);j++)
    {
      arr[j] = arr[j + 1];     //把后一个字符放到前一个字符的位置上
    }
    arr[strlen(arr) - 1] = tmp;   //一次旋转后,末尾的位置正好空出来,把第一个字符放到末尾的位置上。
  }
}
int main() {
  int n = 0; 
  scanf("%d", &n);   //输入需要左旋字符的个数
  char arr[10] = { 0 };
  scanf("%s", arr);
  turn(arr, n);    //turn函数来具体实现
  printf("%s", arr);
  return 0;
}
目录
相关文章
|
1月前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
|
1月前
|
C语言 C++
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
|
30天前
|
存储 安全 编译器
深入C语言库:字符与字符串函数模拟实现
深入C语言库:字符与字符串函数模拟实现
|
2月前
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]=&quot;hello&quot;`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
|
2月前
|
存储 Serverless C语言
【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数
本文介绍了C语言中的`gets`和`puts`函数,`gets`用于从标准输入读取字符串直至换行符,并自动添加字符串结束标志`\0`。`puts`则用于向标准输出打印字符串并自动换行。此外,文章还详细讲解了`str`系列字符串操作函数,包括统计字符串长度的`strlen`、复制字符串的`strcpy`、比较字符串的`strcmp`以及拼接字符串的`strcat`。通过示例代码展示了这些函数的具体应用及注意事项。
|
1月前
|
C语言
C语言常见字符函数和字符串函数精讲
C语言常见字符函数和字符串函数精讲
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
6月前
|
存储 编译器 C语言
在C语言中的数组和字符串
在C语言中的数组和字符串
|
4月前
|
安全 C语言
C语言8 数组与字符串
C语言8 数组与字符串
29 0
|
存储 机器学习/深度学习 Linux
【C语言】语言篇——数组和字符串
【C语言】语言篇——数组和字符串
49 0