a) 实现函数int f(int a,int b,int c),编码中不允许出现任何if,switch,for,while之类的关键词以及三目运算符,并要求:a=1时返回b/c;a=2时返回b-c;a=3时返回b的阶乘加上c的阶乘;a=4时返回b+c;a=5时返回b*c (不用考虑传入的a,b,c的值域错误所导致的异常结果或者崩溃)。(15分)
b) 从一副洗匀的扑克牌中抽取一把扑克,计算这把扑克中可以组成最长同花顺并输出同花顺的长度,例如 [♠A,♦8,♥J,♠4,♣10,♠3,♥9,♣2,♦9,♠2,♠K],能组成的最长同花顺 [♠A,♠2,♠3,♠4],则返回值为4(注:♠黑桃, ♥红心, ♣梅花, ♦方块)。(15分)
你刚到达狂野的西部就遇到了麻烦,罗比尔和杀手小子正骑着他们的马拿着枪互相射击, 他们逼你也参加到他们的死亡比赛中。他们不想浪费子弹,所以制定了以下规则: 1)三个人按顺序开枪,直到最后只有一个人存活。 2)轮到某一个人开枪的时候,只能开一枪。 3)因为你是枪法最差的一个射手,所以同意你先开枪。 如果你打三枪只能命中一枪,你会选择什么战术使自己存活的希望最大?(请详细分析)。 罗比尔打两枪可以命中一枪,杀手小子是百发百中。(请不要朝自己开枪)
a) 如下图所示, 有A类点, B类点, 以及中心点E,点与点之间通过线段链接。目前已知所有 点与点之间的线段长度。请根据所学数据结构与算法,求A2到A3两之间的最佳路径。(主要讲解解题思路,伪代码也可以使用)(20分) b) 在review代码时,假设有下面一个reviewFunc ()子函数的实现。请找出至少5处实现上不合理或者运行会出问题的地方,并注明问题原因。(10分)`
1. #include <iostream> 2. class AClass 3. { 4. private: 5. int valueAA; 6. std::string name; 7. public: 8. void setValue(const int value)const 9. { 10. valueAA = value; 11. } 12. void setString(const std::string Name) 13. { 14. name = Name; 15. } 16. }; 17. 18. #define MAX_SIZE 500 19. void reviewFunc( void*(funcp)() ) 20. { 21. int * const ptr = new int[MAX_SIZE]; 22. for (unsigned char i = 0; i < MAX_SIZE; i++) 23. { 24. ptr[i] = i; 25. } 26. int value = ptr[2]; 27. 28. AClass temp; 29. temp.setValue(100); 30. temp.setString("hello world") 31. ptr = &value; 32. printf("%d", *ptr); 33. (*funcp)(); 34. } 35.a) 谈谈你对以下几个方面的看法?(任选4条,请用自己语言组织)(10分)
代码注释继承和包含虚函数异常处理面向对象设计模式面向数据b) 平时喜欢看计算机类书籍吗,如果要你推荐2本至2本以上的话,你会推荐哪本? 推荐理由是什么?(10分)
