给出1个C语言递归题目和完整答案以及解析,不要阶乘和斐波那契数列
时间: 2024-05-05 08:17:28 浏览: 57
有关C语言的递归算法
题目:编写一个递归函数,计算一个字符串中某个字符出现的次数。
完整答案:
```c
#include <stdio.h>
int count(char *str, char ch) {
if (*str == '\0') {
return 0;
}
if (*str == ch) {
return 1 + count(str + 1, ch);
} else {
return count(str + 1, ch);
}
}
int main() {
char str[] = "hello world";
char ch = 'l';
printf("'%c' appears %d times in \"%s\".\n", ch, count(str, ch), str);
return 0;
}
```
解析:
这道题目要求我们编写一个递归函数,计算一个字符串中某个字符出现的次数。具体的实现思路是这样的:
- 如果字符串为空,则直接返回0。
- 如果字符串的第一个字符是需要查找的字符,则返回1加上递归计算剩余字符串中该字符出现的次数。
- 如果字符串的第一个字符不是需要查找的字符,则递归计算剩余字符串中该字符出现的次数。
在主函数中,我们定义一个测试字符串和需要查找的字符,然后调用递归函数计算该字符在字符串中出现的次数,并输出结果。
阅读全文