C语言从键盘输入一个字符串和一个整数(m),编程移动字符串中的字符,移动规则如下:把第1到第m个字符,平移到字符串的后部,把第m+1到字符串末尾的字符平移到字符串的前部。提示:可借助其他字符数组。
时间: 2023-12-14 07:36:37 浏览: 94
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int m, len;
printf("请输入字符串:");
gets(str);
printf("请输入 m:");
scanf("%d", &m);
len = strlen(str);
// 借助另一个字符数组进行移动
char new_str[MAX_LEN];
int i, j;
// 把第1到第m个字符移到新数组的后部
for (i = 0; i < m; i++) {
new_str[i + len - m] = str[i];
}
// 把第m+1到字符串末尾的字符移到新数组的前部
for (j = m; j < len; j++) {
new_str[j - m] = str[j];
}
// 把新数组的内容拷贝回原数组
for (i = 0; i < len; i++) {
str[i] = new_str[i];
}
printf("移动后的字符串为:%s\n", str);
return 0;
}
```
注意:上述代码中使用了 `gets()` 函数来读取字符串,但是该函数存在安全问题,因此在实际项目中应该使用更安全的函数,如 `fgets()`。
阅读全文