免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: weckay
打印 上一主题 下一主题

[函数] EMC小有难度的笔试,撰写仅有一行的语句的函数??? [复制链接]

论坛徽章:
0
81 [报告]
发表于 2007-04-05 22:55 |只看该作者
小弟处学,代码是搞不出来,不过我想,EMC出题,就一定让你答满分吗?我觉得适当的折中(运用? :..)是很好的选则

论坛徽章:
0
82 [报告]
发表于 2007-04-06 00:04 |只看该作者

回复 1楼 weckay 的帖子

一个比较笨但直观的方法
int  p(int index,int range)
{
        return  printf("%d\n",index*(range>=index)+(index>range)*(2*range-index)+
               ((index<(2*range-1))&&p(index+1,range))*0);
}
前面是求值,后面是递归控制

[ 本帖最后由 ima 于 2007-4-6 00:05 编辑 ]

论坛徽章:
0
83 [报告]
发表于 2007-04-06 11:47 |只看该作者

贴一个俺的

int p(int i, int N)
{
        return ((i == N) && printf("%d\n", i))
                || (printf("%d\n", i), p(i + 1, N), printf("%d\n", i));
}

论坛徽章:
0
84 [报告]
发表于 2007-04-06 12:13 |只看该作者
原帖由 flw 于 2007-4-2 15:43 发表

如果是这样的话,那这个函数的原型就给得非常恶心。
如果是我,我会给出
  1. int p( int min, int max );
复制代码




姐姐你很牛啊..............哇......利害得不得了啊...

论坛徽章:
0
85 [报告]
发表于 2007-04-06 14:29 |只看该作者
这个是通用的正确的代码:
int p(int i, int n)   
{   
    return i<=n && printf("%d\n", i) &&( !p(i+1, n) || printf("%d\n", i));   
}   
p(1,7),p(2,9)... i<N 任意整数
cqpp
侠客
    return printf( "%d\n", i )
        && ( i != N )
        && ( p( i + 1, N ) + 1 )
        && printf( "%d\n", i ) ;

这个也对
美女市长的代码只适用与p(1,N)型,i!=1就不对了

论坛徽章:
0
86 [报告]
发表于 2007-04-09 11:40 |只看该作者
int p(int i, int n)
{
  return printf("%d\n", i)
         && ((i < n)
             && p(i + 1, n)
             && printf ("%d\n", i))
         || true;
}

论坛徽章:
0
87 [报告]
发表于 2007-04-09 14:39 |只看该作者
这贴不错,看到了很多不错的代码。

论坛徽章:
0
88 [报告]
发表于 2007-04-11 16:25 |只看该作者
本帖最后由 guanmj 于 2016-08-02 15:55 编辑

dddddddddd

论坛徽章:
0
89 [报告]
发表于 2007-04-12 11:30 |只看该作者
强贴,学习-ing...

论坛徽章:
0
90 [报告]
发表于 2007-04-12 22:54 |只看该作者
好帖,留个名
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP