-7 串逆置* 分数 10 作者 李祥 单位 湖北经济学院 请编写函数,将字符串逆置。 函数原型 char* StrReverse(char *str); 说明:str 为字符串起始地址。函数将字符串内容逆置,函数值为 str。 裁判程序 #include <stdio.h> void ChrSwap(char *x, char *y); char* StrReverse(char *str); int main() { char a[128]; gets(a); StrReverse(a); puts(a); return 0; } ...... /* 你的代码将被嵌在这里 */ 说明:ChrSwap 函数用于交换两个字符。
时间: 2024-03-13 12:47:53 浏览: 155
实现字符串逆置的代码如下:
```
void ChrSwap(char *x, char *y) {
char temp = *x;
*x = *y;
*y = temp;
}
char* StrReverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
ChrSwap(&str[i], &str[len - i - 1]);
}
return str;
}
```
在主函数中,先读入字符串,然后调用 StrReverse 函数逆置字符串,最后输出结果即可。注意,使用 gets 函数存在安全风险,建议使用 fgets 函数代替。
完整的程序如下:
```
#include <stdio.h>
#include <string.h>
void ChrSwap(char *x, char *y) {
char temp = *x;
*x = *y;
*y = temp;
}
char* StrReverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
ChrSwap(&str[i], &str[len - i - 1]);
}
return str;
}
int main() {
char a[128];
fgets(a, 128, stdin);
StrReverse(a);
puts(a);
return 0;
}
```
阅读全文