2014年5月 程序员 下午题之二
作者:mb60efa0d0657ac2023-10-25 01:00:12
备考咨询 刷题指导
添加专属学姐
2024上半年软考备考资料+考试大纲
下载
摘要:对于【程序员】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【2014年5月 程序员 下午题】部分真题的详解,一起来看看吧~1、阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明1]函数isPr
摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2014年5月 程序员 下午题】部分试题的详解,一起来看看吧~
1、阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明1]函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。[C函数]
int isPrime(int n)
{
int k, t;
if (n==2)
return 1;
if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数//
t=(int)Sqrt(n)+1;
for(k=3; k<t; k+=2)
if(______)
return 0;
return 1;
}[说明2]函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。[C函数]
int minOne(int arr[],int k)
{
int t;
assert(k>0);
if(k==1)
return ______;
t=minOne(arr+1,______);
if(arr[0]<t)
return amr[0];
return ______;
}
答案:
答题解析:
函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,显然,k为1时,这一个元素就是最小者。因此,空(3)处应填入"arr[0]"或其等价形式。
空(4)所在的语句是通过递归方式找出arr[1]~arr[k-1]中的最小者,第一个实参指出从arr[1]开始,第二个参数为元素个数,为k-1个,因此空(4)应填入"k-1"。
接下来的处理就很明确了,当t表示art[1]~art[k-1]中的最小者,其与arr[0]比较后就可以得到art[0]~arr[k-1]中的最小者,因此空(5)处应填入"t"。
1、阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明1]函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。[C函数]
int isPrime(int n)
{
int k, t;
if (n==2)
return 1;
if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数//
t=(int)Sqrt(n)+1;
for(k=3; k<t; k+=2)
if(______)
return 0;
return 1;
}[说明2]函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。[C函数]
int minOne(int arr[],int k)
{
int t;
assert(k>0);
if(k==1)
return ______;
t=minOne(arr+1,______);
if(arr[0]<t)
return amr[0];
return ______;
}
答案:
n%2==0,或!(n%2),或其等价形式
n%k==0,或!(n%k),或其等价形式
arr[0],或*arr,或其等价形式
k-1,或其等价形式
t
答题解析:
本题考查C程序的基本语法和运算逻辑。
首先应认真分析题目中的说明,然后确定代码结构和各变量的作用。
函数isPrime(int n)的功能是判断n是否为素数。根据素数的定义,小于2的数和大于2的偶数都不是素数,n是偶数可表示为"n%2等于0",因此空(1)处应填入"n%2=0",或者"!(n%2)"。
在n是大于2的奇数的情况下,下面的代码从3开始查找n的因子,直到n的平方根为止。
for(k=3; k<t; k+=2)若k的值是n的因子,则说明n不是素数。因此,空(2)处应填入"n%1(==0",或者"!(n%k)"。
if(______) return 0;
函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,显然,k为1时,这一个元素就是最小者。因此,空(3)处应填入"arr[0]"或其等价形式。
空(4)所在的语句是通过递归方式找出arr[1]~arr[k-1]中的最小者,第一个实参指出从arr[1]开始,第二个参数为元素个数,为k-1个,因此空(4)应填入"k-1"。
接下来的处理就很明确了,当t表示art[1]~art[k-1]中的最小者,其与arr[0]比较后就可以得到art[0]~arr[k-1]中的最小者,因此空(5)处应填入"t"。
查看完整试题>>>
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>