用c语言输出:输入一个字符串和一个非负整数N,要求将字符串循环左移N次。 输入格式: 输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。 输出格式: 在一行中输出循环左移N次后的字符串。
时间: 2024-04-08 18:30:56 浏览: 91
```c
#include <stdio.h>
#include <string.h>
void reverse(char* str, int start, int end) {
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
void leftRotateString(char* str, int n) {
int len = strlen(str);
// 对整个字符串进行翻转
reverse(str, 0, len - 1);
// 对前n个字符进行翻转
reverse(str, 0, n - 1);
// 对剩余的字符进行翻转
reverse(str, n, len - 1);
}
int main() {
char str[101];
int n;
fgets(str, sizeof(str), stdin);
scanf("%d", &n);
str[strcspn(str, "\n")] = '\0'; // 去除输入字符串中的换行符
leftRotateString(str, n);
printf("%s\n", str);
return 0;
}
```
这段代码会读取一个不超过100个字符长度的字符串和一个非负整数N,并对字符串进行循环左移N次。首先,定义了一个 `reverse` 函数,用于将字符串中指定范围的字符进行翻转。然后,定义了 `leftRotateString` 函数,该函数先对整个字符串进行翻转,然后对前N个字符进行翻转,最后对剩余的字符进行翻转。在 `main` 函数中,通过 `fgets` 函数读取输入的字符串,并使用 `scanf` 函数读取非负整数N。然后,调用 `leftRotateString` 函数对字符串进行循环左移N次,并输出结果。
阅读全文
相关推荐
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)