当前位置: 首页 > news >正文

2025-02-27 学习记录--C/C++-PTA 7-31 字符串循环左移

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

在这里插入图片描述

二、代码(C语言)⭐️

循环左移的核心逻辑是:👇🏻

  • 通过 临时变量 保存 第一个字符;🌲
  • 然后将 每个字符 向前移动一位;🌈
  • 最后将 临时变量中的字符 放到 末尾。🦋
#include <stdio.h>  // 包含标准输入输出库,用于使用fgets、scanf、puts等函数
#include <string.h> // 包含字符串处理库,用于使用strlen和strcspn等函数

int main() {        // 主函数,程序的入口
    char strs[102]; // 定义一个字符数组strs,用于存储输入的字符串,最大长度为102
    int n;          // 定义一个整型变量n,用于存储输入的整数

    // 将输入的第一行内容放入字符数组strs中
    fgets(strs, sizeof(strs), stdin); // 从标准输入读取一行内容,存储到strs中
                                      // sizeof(strs)表示strs的最大长度
                                      // stdin表示从标准输入读取
    strs[strcspn(strs, "\n")] = '\0'; // 使用strcspn找到换行符的位置,并将其替换为字符串结束符'\0'
                                      // 目的是去除fgets读取的换行符

    scanf("%d", &n); // 从标准输入读取一个整数,存储到变量n中

    for(int i = 0; i < n; i++) { // 循环n次,每次将字符串strs向左循环移动一位
        int len = strlen(strs);  // 获取当前字符串strs的长度
        char temp = strs[0];    // 将字符串的第一个字符存储到临时变量temp中
                                // 目的是防止在后续移动过程中被覆盖

        // 将字符串的每一项前移一位
        for(int j = 0; j < len - 1; j++) { // 循环遍历字符串的每个字符
            strs[j] = strs[j + 1];         // 将后一个字符赋值给前一个字符
        }

        strs[len - 1] = temp; // 将临时变量temp中的字符(原第一个字符)放到字符串的末尾
    }

    puts(strs); // 输出最终的字符串strs

    return 0; // 返回0,表示程序正常结束
}

在这里插入图片描述
在这里插入图片描述

相关文章:

  • hivePB级迁移方案
  • Python的那些事第三十四篇:基于 Plotly 的交互式图表与仪表板设计与应用
  • AI数字人开发,引领科技新潮流
  • MySQL—授权与权限回收
  • Vue3 Hooks:从原理到实战封装指南
  • Vue-Flow绘制流程图(Vue3+ElementPlus+TS)简单案例
  • Spring Retry 实现乐观锁重试
  • 【数据结构】二叉树(门槛极低的系统性理解)
  • React进阶之前端业务Hooks库(四)
  • 2.27-1笔记1
  • 【Vue3 Teleport 技术解析:破解弹窗吸附与滚动列表的布局困局】
  • 初阶数据结构(C语言实现)——3顺序表和链表(2)
  • linux--多进程开发(6)IPC之内存映射
  • thinkphp下的Job队列处理
  • 网络运维学习笔记(DeepSeek优化版)006网工初级(HCIA-Datacom与CCNA-EI)VLAN间路由
  • Android手机部署DeepSeek
  • C# Json序列化的常用几种方式
  • 教你通过腾讯云AI代码助手,免费使用满血版deepseek r1,还可以自定义知识库!
  • AF3 pair_sequences函数解读
  • 2月27(信息差)
  • wordpress mu插件/李勇seo博客
  • 北京医疗网站建设公司/西安seo排名外包
  • 有没有专门做教程的网站/网络营销毕业论文范文
  • 诚讯通网站/制作网页的流程步骤
  • 专门做婚庆的网站/郑州网站公司哪家好
  • fm网站开发/百度app官方下载安装