c语言s = input("请输入字符串S:")k = int(input("请输入左旋的位数K:"))n = len(s)# 首先将前k个字符反转s = s[:k][::-1] + s[k:]# 然后将剩余的字符反转s = s[:n-k][::-1] + s[n-k:]# 最后将整个字符串反转s = s[::-1]print("左旋后的字符串为:", s)
时间: 2024-03-22 14:36:48 浏览: 63
这段代码是Python代码,如果需要C语言实现,可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
int k, n;
printf("请输入字符串S:");
scanf("%s", s);
printf("请输入左旋的位数K:");
scanf("%d", &k);
n = strlen(s);
// 首先将前k个字符反转
for (int i = 0, j = k - 1; i < j; i++, j--) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
// 然后将剩余的字符反转
for (int i = k, j = n - 1; i < j; i++, j--) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
// 最后将整个字符串反转
for (int i = 0, j = n - 1; i < j; i++, j--) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
printf("左旋后的字符串为:%s\n", s);
return 0;
}
```
这段代码实现了将字符串左旋K位的操作,其中用到了字符串反转等操作。如果你有任何关于这段代码的问题,欢迎随时提出。
阅读全文