C语言编程输入一个整数n和一个字符串,将字符串循环右移n个字符
时间: 2023-06-09 22:05:51 浏览: 224
好的,我可以帮你解决这个问题。以下是C语言代码示例:
```
#include <stdio.h>
#include <string.h>
void right_rotate(char *str, int n) {
int len = strlen(str);
n = n % len;
char temp;
for (int i = 0; i < n; i++) {
temp = str[len - 1];
for (int j = len - 1; j > 0; j--) {
str[j] = str[j - 1];
}
str[0] = temp;
}
}
int main() {
int n;
char str[100];
printf("请输入一个整数n和一个字符串:");
scanf("%d %s", &n, str);
right_rotate(str, n);
printf("循环右移后的字符串为:%s\n", str);
return 0;
}
```
代码解释:
- 我们首先定义了一个 `right_rotate()` 函数,它实现循环右移字符串的功能。该函数接受两个参数,分别是字符串和要循环移动的位数。
- 在 `main()` 函数中,我们先从用户输入中读取一个整数和一个字符串。
- 然后调用 `right_rotate()` 函数,将字符串循环右移 `n` 个字符。
- 最后输出循环右移后的字符串。
希望这个代码能够帮助到你。
阅读全文