zoukankan      html  css  js  c++  java
  • 7-31 字符串循环左移

    7-31 字符串循环左移(20 分)

    输入一个字符串和一个非负整数N,要求将字符串循环左移N次。

    输入格式:

    输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。

    输出格式:

    在一行中输出循环左移N次后的字符串。

    输入样例:

    Hello World!
    2
    

    输出样例:

    llo World!He
    
    思路:输入完之后整两字符串,循环讲拷贝字符串的字符找准位置放入原字符串当中,至于找位置这个自己看代码吧,很好理解的。
    #include<stdio.h>
    #include<string>
    #include<sstream>
    #include<iostream>
    using namespace std;
    int main()
    {
        string line;
        getline(cin, line);
        string lincopy = line;
        int n; cin >> n;                //解决输入
        
        for (int i = 0; i < line.length(); i++)        //循环将复制字符串的字符放入line中
        {
            int flag = (i - n+n*lincopy.length()) % lincopy.length();        //一下解决好几个测试点,什么N大于长度啊又正好是倍数啊,统统不是问题
            line[flag] = lincopy[i];        
        }
        cout << line << endl;
        return 0;
    }



  • 相关阅读:
    Eclipse给方法添加注释
    隐式等待和显示等待和固定等待
    用例执行完后切换到指定的页面
    HTTP常见响应状态码
    Java类初始化顺序问题
    博客园!我来了
    MySQL的存储引擎
    String声明为NULL和""的区别
    Mysql入门
    MySQL查询与结构
  • 原文地址:https://www.cnblogs.com/zengguoqiang/p/8335848.html
Copyright © 2011-2022 走看看