c语言用递归的方法,将输入的宇符串逆序输出。 (main 函数一>fuc函数)
时间: 2024-05-06 21:15:28 浏览: 85
以下是用递归方法将输入的字符串逆序输出的 C 语言代码:
```c
#include <stdio.h>
void reverse(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
printf("逆序输出的结果为:");
reverse(str);
printf("\n");
return 0;
}
void reverse(char *str) {
if (*str == '\0') { // 递归终止条件
return;
}
reverse(str + 1); // 递归调用
printf("%c", *str);
}
```
代码中定义了一个 `reverse()` 函数,接收一个指向字符串的指针参数。在函数中,首先判断指针指向的字符是否为空,如果为空,则递归结束。否则,先递归调用 `reverse()` 函数,将指针向后移动一位,然后再输出当前指针指向的字符。这样就可以实现将字符串逆序输出的功能。
在 `main()` 函数中,先读入一个字符串,然后调用 `reverse()` 函数将其逆序输出。
相关问题
用递归的方法,将输入的宇符串逆序输出。 (main 函数一>fuc函数)
以下是使用递归方法实现字符串逆序输出的代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void reverse(string str){
if(str.length() == 0) // 当字符串长度为0时,递归结束
return;
else{
reverse(str.substr(1)); // 递归调用
cout << str[0]; // 输出第一个字符
}
}
int main(){
string s;
cout << "请输入一个字符串:";
cin >> s;
cout << "逆序输出为:";
reverse(s);
return 0;
}
```
该代码首先定义了一个 `reverse` 函数,该函数的参数是一个字符串 `str`。在函数中,首先判断字符串是否为空,若为空则递归结束;否则,将字符串从第二个字符开始截取,并将其作为参数再次调用 `reverse` 函数,直到字符串长度为0为止。最后,输出字符串的第一个字符。
在 `main` 函数中,先输入一个字符串,然后调用 `reverse` 函数进行逆序输出。
C语言用递归的方法将输入的字符逆序输出(main函数fuc函数)
可以使用递归的方式,将输入的字符逆序输出。以下是一个示例代码:
```
#include <stdio.h>
void reverse()
{
char c;
scanf("%c", &c);
if(c != '\n')
{
reverse();
printf("%c", c);
}
}
int main()
{
printf("请输入一串字符:");
reverse();
printf("\n");
return 0;
}
```
在这个程序中,`reverse()`函数使用递归来读取输入的字符,并将它们保存在栈中,直到输入遇到一个换行符。然后,它开始从栈中弹出字符并逆序输出它们。在`main`函数中,我们调用`reverse()`函数并在输出末尾添加一个换行符。
阅读全文