|
发表于 2023-7-16 16:11:22
|
显示全部楼层
以下是填空部分的完整代码:
- #include <stdio.h>
- #include <ctype.h>
- void wordchange(char str[]) {
- int i, j, k, m;
- char c;
-
- for (i = 0; str[i]; i++) {
- for (j = i, k = i; isalpha(str[k]); k++);
-
- if (str[j] == 'a' && str[k - 1] == 'e') {
- m = k - j;
-
- if (m % 2 == 0) {
- c = str[j];
-
- for (i = j; i < k - 1; i++) {
- str[i] = str[i + 1];
- }
-
- str[k - 1] = c;
- } else {
- c = str[k - 1];
-
- for (i = k - 1; i > j; i--) {
- str[i] = str[i - 1];
- }
-
- str[j] = c;
- }
- }
-
- i = k;
- }
- }
- int main() {
- char string[80] = "she is able to abide her.";
- puts(string);
- wordchange(string);
- puts(string);
- return 0;
- }
复制代码
在 wordchange 函数中,我添加了循环来查找以字符 'a' 开始并以字符 'e' 结尾的单词。然后,根据单词的长度是偶数还是奇数,进行循环左移或循环右移操作。
这个程序会对存储在字符串数组内的符合条件的单词进行加密处理。希望能够帮到你! |
|