用c语言输入一个整数,要求用递归算法实现将该整数逆序输出,并统计递归执行次数。
时间: 2024-12-02 20:17:24 浏览: 26
简单的C语言程序 递归逆序整数
5星 · 资源好评率100%
在 C 语言中,你可以使用递归函数来实现整数的逆序输出并同时统计递归调用的次数。下面是一个简单的示例:
```c
#include <stdio.h>
// 递归函数
void reverse(int num, int reversed, int count) {
if (num == 0) { // 递归结束条件
printf("%d", reversed);
count++; // 每次递归增加计数
} else {
reverse(num / 10, reversed * 10 + num % 10, count); // 递归调用,更新数字和计数
count++; // 每次调用增加一次计数
}
printf("\nRecursive calls: %d times\n", count); // 输出递归调用次数
}
int main() {
int input;
printf("Enter an integer: ");
scanf("%d", &input);
// 调用递归函数,传入初始值
reverse(input, 0, 0);
return 0;
}
```
在这个程序中,`reverse` 函数接收三个参数:原始数字 `num`、已经逆序的部分 `reversed` 和递归调用的次数 `count`。每次递归调用都会先检查 `num` 是否为 0,如果是则输出 `reversed`,然后增加 `count`;如果不是,则继续拆分数字并递归地将剩余部分添加到 `reversed` 中。
当你运行这个程序并输入一个整数时,它会逆序打印出整数并且显示递归调用的总次数。
阅读全文