文章目录
题目
输入一个字符串和一个非负整数 N N ,要求将字符串循环左移 N N 次。
输入格式
输入在第 1 1 行中给出一个不超过 100 100 个字符长度的、以回车结束的非空字符串;第 2 2 行给出非负整数 N N 。
输出格式
在一行中输出循环左移 N N 次后的字符串。
输入样例
Hello World!
2
输出样例
llo World!He
题解
解题思路
首先输入一串字符串,然后输入字符串循环左移次数 N N ,然后判断左移次数是否大于字符串长度,如果大于就取余;如果不大就从第 N N 个字符开始输出,直到最后一个,然后再从原字符串的第一个字符开始输出到第 N − 1 N-1 个即可。
完整代码
#include<iostream> using namespace std; int main(void) { char s,str[105]; int i = 0, count = 0, flag = 0, N; cout << "请入一个字符串:"; // 提交时注释此行 while ((s = getchar()) != '\n') // 读入字符串 { str[i++] = s; count++; } cout << "请输入一个非负整数:"; // 提交时注释此行 cin >> N; if (N > count) // N大于长度的情况 N %= count; for (i = N; i < count; i++) cout << str[i]; for (i = 0; i < N; i++) cout << str[i]; return 0; }