java利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
时间: 2023-11-27 21:11:12 浏览: 55
好的,以下是 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
printReverse(str);
}
public static void printReverse(String str) {
if (str.length() == 1) {
System.out.print(str);
} else {
System.out.print(str.charAt(str.length() - 1));
printReverse(str.substring(0, str.length() - 1));
}
}
}
```
运行程序后,输入 5 个字符,程序会递归调用 `printReverse()` 函数,将字符从最后一个开始打印,直到打印完所有字符,实现了将所输入的 5 个字符以相反顺序打印出来的效果。
相关问题
利用递归JAVA函数调用方式,将输入的10个字符以相反顺序打印出来
以下是一个递归函数,可以将输入的10个字符以相反顺序打印出来:
```java
public static void reversePrint(String s) {
if (s.length() == 0) {
return;
} else {
reversePrint(s.substring(1));
System.out.print(s.charAt(0));
}
}
```
在这个函数中,我们首先检查输入字符串是否为空。如果为空,我们就不需要再进行任何操作,直接返回。否则,我们将字符串的第一个字符剥离出来,将剩余的子串传递给下一次递归调用,然后打印出当前字符。这个过程会一直持续到字符串中没有字符为止,每次打印出来的字符都是相反顺序的。
现在,我们可以在主函数中调用这个递归函数,将需要打印的字符串作为参数传递进去:
```java
public static void main(String[] args) {
String s = "abcdefghij";
reversePrint(s);
}
```
输出结果为:
```
jihgfedcba
```
C语言利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
可以使用递归函数来实现将输入的5个字符以相反顺序打印出来的功能。以下是一个示例代码:
```c
#include <stdio.h>
void printReverse(char str[], int length) {
if (length == 0) {
return;
}
printf("%c", str[length - 1]);
printReverse(str, length - 1);
}
int main() {
char str[5];
printf("请输入5个字符:");
scanf("%s", str);
printReverse(str, 5);
return 0;
}
```
在这个代码中,`printReverse` 函数使用递归的方式将字符串以相反顺序打印出来。首先判断字符串长度是否为0,如果是,则递归结束;否则,打印最后一个字符并调用自身,传入字符串和长度减1的参数。通过这种方式,每次递归都会打印字符串的最后一个字符,直到打印完所有字符为止。
在 `main` 函数中,我们首先声明一个字符数组 `str`,用于存储输入的5个字符。然后通过 `scanf` 函数获取用户输入的字符串。接下来,调用 `printReverse` 函数并传入字符串和长度5作为参数,实现字符串的相反顺序打印。
运行该程序后,用户需要输入5个字符,然后程序会将这5个字符以相反顺序打印出来。