请编写递归函数,输出指定范围内的整数。 函数原型 void ListDsc(int lower, int upper); 说明:参数 lower 和 upper 为指定范围的下限和上限。若 lower ≤ upper,则函数将按由大到小的顺序输出 upper 到 lower 的整数,否则不输出任何信息。 要求:不要使用循环语句。 裁判程序 #include <stdio.h> void ListDsc(int lower, int upper); int main() { int min, max; scanf("%d %d", &min, &max); ListDsc(min, max); return 0; } /* 你提交的代码将被嵌在这里 */
时间: 2024-03-17 10:45:39 浏览: 90
以下是递归函数 ListDsc 的实现:
```
void ListDsc(int lower, int upper) {
if (lower <= upper) {
printf("%d ", upper);
ListDsc(lower, upper-1);
}
}
```
函数的实现思路是,若下限 lower 小于等于上限 upper,则输出当前的上限值 upper,然后递归调用 ListDsc 函数,将上限值减一作为新的上限,继续输出。当下限大于上限时,递归终止,不再输出任何信息。
需要注意的是,递归调用时,参数的传递必须满足递归终止条件最先被满足,否则会导致无限递归,程序崩溃。因此,在递归调用 ListDsc 函数时,必须将上限值减一作为新的参数传递给函数。
阅读全文