咱们论坛的帖子多以问/答为主,今儿来点脑筋急转弯吧。 这个问题很早在CSDN/C版上看到过: 要求实现这样的函数: int p(int i, int N); 功能:调用该函数,打印如下格式的输出,例p(1, 7); 1 2 3 4 5 6 7 6 5 4 3 2 1 即每行一个数字。(注意:N只打印一次) 要求: 1. 函数中唯一能够调用的函数就是printf。(是不是意味着不能递归?) 2. 不准使用如下的关键字:typedef, enum, do, while, for, switch, case, break, continue, goto, if。 (通常的循环也别想了?) 3. 不能使用逗号表达式和?:表达式。 4. 函数中只能有一条语句(就是只能出现一个;)。 PS:如果你使用其他语言,也请尽量满足对应语言中与上述4条相对应的规则,并作出相应的说明! 怎么样,各位,贴出你的解决方案吧,我私自做主了,一个转贴的答案+5点体能,一个原创的答案+1点威望。 =================================解答分割线=========================== 第一个满足全部约束条件的代码如下,由wqsong 提供,使用C语言巧妙地实现,详细分析见10L、15L、17L等:
第二个?It's up to you! |
GMT+8, 2024-11-24 18:49 , Processed in 0.031865 second(s), 15 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.