c编写一个程序,输入一个字符串,将字符串中的每个字符都向后移动一位,最后一个字符变成第一个字符,输出移位后的字符串。 例如: 输入:hello 输出:ifmmp
时间: 2024-02-03 13:12:12 浏览: 19
下面是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 定义最大输入字符串长度
int main() {
char str[MAX_LEN + 1]; // 定义输入字符串数组,注意要预留一个位置给'\0'
int len, i;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str); // 获取输入字符串的长度
// 将每个字符都向后移动一位
for (i = 0; i < len; i++) {
if (str[i] == 'z') {
str[i] = 'a'; // 如果是最后一个字符'z',则将其变成'a'
} else if (str[i] == 'Z') {
str[i] = 'A'; // 如果是最后一个字符'Z',则将其变成'A'
} else {
str[i]++; // 其他字符都向后移动一位
}
}
// 最后一个字符变成第一个字符
char temp = str[len - 1];
for (i = len - 1; i > 0; i--) {
str[i] = str[i - 1];
}
str[0] = temp;
printf("移位后的字符串为:%s\n", str);
return 0;
}
```
可以看到,我们先读入一个字符串,然后遍历每个字符,将其向后移动一位。如果是最后一个字符'z'或'Z',则将其分别变成'a'或'A'。最后将最后一个字符放到第一个字符的位置即可。