计算机软件水平考试《程序员》面试题精选题汇总
21页1、计算机软件水平考试程序员面试题精选题汇总计算机软件水平考试程序员面试题精选题(1)-求1+2+.+n题目:求1+2+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。分析:这道题没有多少实际意义,因为在软件开发中不会有这么变态的限制。但这道题却能有效地考查发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度。通常求1+2+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路。由于已经明确限制for和while的使用,循环已经不能再用了。同样,递归函数也需要用if语句或者条件判断语句来判断是继续递归下去还是终止递归,但现在题目已经不允许使用这两种语句了。我们仍然围绕循环做文章。循环只是让相同的代码执行n遍而已,我们完全可以不用for和while达到这个效果。比如定义一个类,我们new一含有n个这种类型元素的数组,那么该类的构造函数将确定会被调用n次。我们可以将需要执行的代码放到构造函数里。如下代码正是基于这个思路:class Temppublic:Temp() + N; Sum += N; stat
2、ic void Reset() N = 0; Sum = 0; static int GetSum() return Sum; private:static int N;static int Sum;int Temp:N = 0;int Temp:Sum = 0;int solution1_Sum(int n)Temp:Reset();Temp *a = new Tempn;delete a;a = 0;return Temp:GetSum();我们同样也可以围绕递归做文章。既然不能判断是不是应该终止递归,我们不妨定义两个函数。一个函数充当递归函数的角色,另一个函数处理终止递归的情况,我们需要做的就是在两个函数里二选一。从二选一我们很自然的想到布尔变量,比如ture(1)的时候调用第一个函数,false(0)的时候调用第二个函数。那现在的问题是如和把数值变量n转换成布尔值。如果对n连续做两次反运算,即!n,那么非零的n转换为true,0转换为false。有了上述分析,我们再来看下面的代码:class A;A* Array2;class Apublic:virtual int Sum (
3、int n) return 0; ;class B: public Apublic:virtual int Sum (int n) return Array!n-Sum(n-1)+n; ;int solution2_Sum(int n)A a;B b;Array0 = &a;Array1 = &b;int value = Array1-Sum(n);return value;这种方法是用虚函数来实现函数的选择。当n不为零时,执行函数B:Sum;当n为0时,执行A:Sum。我们也可以直接用函数指针数组,这样可能还更直接一些:typedef int (*fun)(int);int solution3_f1(int i)return 0;int solution3_f2(int i)fun f2=solution3_f1, solution3_f2;return i+f!i(i-1);另外我们还可以让编译器帮我们来完成类似于递归的运算,比如如下代码:template struct solution4_Sumenum Value N = solution4_Sum:N + n;template
《计算机软件水平考试《程序员》面试题精选题汇总》由会员jia****ihe分享,可在线阅读,更多相关《计算机软件水平考试《程序员》面试题精选题汇总》请在金锄头文库上搜索。
2020届贵州省高二语文下学期线上周考试题(下载版)
陕西省西安市航空六一八中学2018-2019学年高二下学期第二次月考语文试题(扫描版无答案)
2020届宁夏中卫市语文高考二模试题
2020届普通高等学校招生伯乐马文综模拟考试试题
2020届河北省高二语文下学期线上月考试题答案(下载版)
2020届宁夏六盘山中学高二语文下学期线上月考试题(下载版)
2020届贵州省高二语文下学期线上周考试题答案(下载版)
2020届宁夏银川市高三理综生物第五次模拟考试题
山西省忻州市第二中学2018-2019学年高二10月月考语文试题
2021届山东省高二上学期语文12月月考试题
2021届山东省惠民县第二中学致远部高二语文上期十月月考试题
2020届宁夏中卫市语文高考二模试题答案
2020届山东高三物理模拟试题二及答案解析
2020届河南省洛阳市高三化学三模试题
2020届河南省洛阳市高三化学三模试题答案
2020届黑龙江省绥棱一中高二语文下学期4月试题答案
江苏省蒋王中学2018-2019学年度高二下学期5月月考语文试题(扫描版无答案)
2020届山东省聊城市政治高考二模试题答案
福建省漳平市第一中学2018-2019学年高二上学期第一次月考语文试题
2020届黑龙江省绥棱一中高二语文下学期4月试题
2022-01-19 60页
2021-11-16 27页
2021-11-16 39页
2020-02-04 32页
2019-02-19 11页
2019-02-19 49页
2019-02-19 8页
2019-02-19 11页
2019-02-19 7页
2019-02-19 30页