|
发表于 2018-6-13 17:06:17
|
显示全部楼层
本楼为最佳答案
- #include <stdio.h>
- #include <string.h>
- void f1(char* str)
- {
- int strLen, i;
- char temp;
-
- strLen = strlen(str);
- if(strLen % 4 == 0)
- {
- //每四个字符反转一次
- for(i = 0; i < strLen; i += 4)
- {
- //0, 3 位置字符互换
- temp = str[i];
- str[i] = str[i+3];
- str[i+3] = temp;
-
- //1, 2 位置字符互换
- temp = str[i+1];
- str[i+1] = str[i+2];
- str[i+2] = temp;
- }
-
- printf("%s\n", str);
- }
- }
- void f2(char* str)
- {
- int strLen, i, j;
- char temp;
-
- strLen = strlen(str);
- if(strLen % 4 == 0)
- {
- for(i = 0; i < strLen; i += 4/2)
- {
- for(j = i+3; j > i; j--,i++)
- {
- temp = str[i];
- str[i] = str[j];
- str[j] = temp;
- }
- }
-
- printf("%s\n", str);
- }
- }
- int main()
- {
- char str[100];
-
- scanf("%s", str);
-
- f1(str);
-
- f2(str);
-
- return 0;
- }
复制代码 |
|