C语言递归实现逆序程序
时间: 2024-03-18 17:42:00 浏览: 68
用c语言实现的逆序文本程序
好的,下面是C语言递归实现逆序程序的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str, int start, int end) {
if (start >= end) {
return;
}
// 交换首尾字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 递归调用
reverse(str, start + 1, end - 1);
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
// 计算字符串长度
int len = strlen(str);
// 调用递归函数
reverse(str, 0, len - 1);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
在这个程序中,我们定义了一个 `reverse` 函数,它接收一个字符串、起始位置和结束位置作为参数。函数的作用是将字符串中从起始位置到结束位置的字符逆序。具体实现是先交换起始位置和结束位置的字符,然后递归调用自身,处理起始位置加1、结束位置减1的子问题。
在 `main` 函数中,我们首先读入一个字符串,然后调用 `reverse` 函数,将整个字符串逆序。最后输出逆序后的字符串。
阅读全文