4、【常见算法】一道经典的额递归题目

函数 int func(int i ,int N);
其中i <= N,功能输出i递增到N再递减到i的整数,每行输出一个数。比如func(1,5)就是
1
2
3
4
5
4
3
2
1
要求:
1、只能有1个语句,即一个分号
2、不能使用do while until goto for if关键字,不能使用?:和逗号运算符
3、唯一能使用的库函数为printf

 1 #include <stdio.h>
 2 
 3 int func(int i, int n)
 4 {
 5     return (i == n && printf("%d
", i)) || (printf("%d
", i) && func(i+1, n) && printf("%d
", i));
 6 }
 7 
 8 int main()
 9 {
10     func(1, 5);
11     return 0;
12 }

 

原文地址:https://www.cnblogs.com/Long-w/p/9792190.html