利用C++语言,递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
时间: 2023-04-09 15:04:13 浏览: 175
可以使用以下代码实现:
```c
#include <stdio.h>
void reverse_print(char* str) {
if (*str == '\0') {
return;
}
reverse_print(str + 1);
printf("%c", *str);
}
int main() {
char str[6];
printf("请输入5个字符:");
scanf("%s", str);
reverse_print(str);
printf("\n");
return 0;
}
```
这段代码使用递归的方式,将输入的字符串从后往前打印出来。
相关问题
递归函数调用方式,将所输入的5个字符,以相反顺序打印出来,用C++
当然,我可以回答这个问题。以下是一个递归函数的示例代码,可以将输入的5个字符以相反顺序打印出来:
```c
#include <stdio.h>
void reverse_print(char *str) {
if (*str) {
reverse_print(str + 1);
putchar(*str);
}
}
int main() {
char str[6];
printf("请输入5个字符:");
scanf("%s", str);
reverse_print(str);
return 0;
}
```
输入5个字符后,程序将会递归调用 `reverse_print` 函数,将字符从后往前打印出来。
用c++编写递归函数删除字符
在字符串中的所有指定字符。
可以参考下面的代码示例:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch) {
// 判断字符串是否为空
if (*str == '\0') {
return;
}
// 如果当前字符是指定字符,则删除
if (*str == ch) {
// 将后面的字符依次左移
char *p = str;
while (*p != '\0') {
*p = *(p+1);
p++;
}
// 递归调用删除下一个字符
delete_char(str, ch);
} else {
// 继续递归到下一个字符
delete_char(str+1, ch);
}
}
int main() {
char str[100], ch;
printf("请输入字符串:");
gets(str);
printf("请输入要删除的字符:");
scanf("%c", &ch);
delete_char(str, ch);
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
阅读全文