用c语言递推函数解决:输入长度不确定的十进制数字,逆向输出数字。
时间: 2024-10-25 18:05:08 浏览: 39
在C语言中,你可以使用递归函数来解决这个问题。由于输入的数字长度不确定,我们可以定义一个函数来处理每一位,并通过函数调用自身来逐步获取并逆序输出每个数字。这里是一个基本的示例:
```c
#include <stdio.h>
// 递归函数,输入n表示当前位数,digit是当前位的值,result是结果数组
void reverseDigit(int n, int digit, char result[]) {
if (n == 0) { // 如果已经处理完所有位,直接打印结果
printf("%c", digit);
} else {
// 将当前位添加到结果数组的最前端
result[n] = digit + '0';
reverseDigit(n - 1, result[n], result); // 调用自身处理下一位
}
}
int main() {
int num;
printf("请输入一个长度不确定的十进制数字: ");
scanf("%d", &num);
// 创建足够大的字符数组来存储输入的每一位数字
char reversed[20];
reversed[0] = '\0'; // 初始化结果数组
// 使用递归从高位到低位逆序处理每一位
reverseDigit(sizeof(reversed) - 1, num % 10, reversed);
printf("逆向输出的数字: %s\n", reversed);
return 0;
}
```
当你运行这个程序,它会提示你输入一个数字,然后逆向输出该数字。记得输入的数字不宜过长,以免超过数组`reversed`的大小。
阅读全文
相关推荐

















