用c语言创建一个没有参数,没有返回值的函数,此函数使用递归的方法完成输入一行字符串,逆序输出该行字符串
时间: 2023-05-19 09:00:53 浏览: 109
以下是用 C 语言创建一个没有参数,没有返回值的函数,该函数使用递归的方法完成输入一行字符串,逆序输出该行字符串的代码:
```c
#include <stdio.h>
void reverse_string() {
char c;
scanf("%c", &c);
if (c != '\n') {
reverse_string();
printf("%c", c);
}
}
int main() {
printf("请输入一行字符串:");
reverse_string();
printf("\n");
return 0;
}
```
该程序会提示用户输入一行字符串,然后调用 `reverse_string()` 函数递归地读取每个字符,并在递归回溯时依次输出这些字符,从而实现字符串的逆序输出。
相关问题
编写一个递归函数,逆序输出字符串元素
```python
def reverse_string(s):
if len(s) == 0:
return s
else:
return reverse_string(s[1:]) + s[0]
print(reverse_string("hello"))
```
这是一个 Python 中的递归函数,它能够逆序输出字符串元素。在这个函数中,我们首先判断字符串长度是否为 0,如果是,则直接返回字符串;否则,调用递归函数,并将函数返回值与字符串第一个元素相加。
使用这个函数,如果将"hello"传给函数会返回"olleh"
c语言编程用递归法将一个非负整数n转换成逆序的字符串。例如:输入483,应输出字符串"384"。n的位数不确定,可以是任位数的整数。
以下是使用递归法将非负整数n转换成逆序字符串的C语言代码:
```c
#include <stdio.h>
void reverse(int n) {
if(n == 0) {
return;
}
printf("%d", n % 10);
reverse(n / 10);
}
int main() {
int n;
printf("请输入一个非负整数n: ");
scanf("%d", &n);
printf("逆序字符串为: ");
reverse(n);
printf("\n");
return 0;
}
```
首先定义了一个名为reverse的递归函数,该函数的参数为一个非负整数n。如果n为0,则函数直接返回;否则,函数会打印n的个位数并调用自身,传入参数n/10,即去掉n的个位后的数。这样,每次递归的时候都会输出n的个位数,直到n为0结束递归。
在主函数中,首先提示用户输入一个非负整数n,然后调用reverse函数,并输出逆序字符串。
阅读全文