国家二级C语言考试所有上机真题答案.docx

上传人:b****5 文档编号:2863455 上传时间:2022-11-16 格式:DOCX 页数:124 大小:69.25KB
下载 相关 举报
国家二级C语言考试所有上机真题答案.docx_第1页
第1页 / 共124页
国家二级C语言考试所有上机真题答案.docx_第2页
第2页 / 共124页
国家二级C语言考试所有上机真题答案.docx_第3页
第3页 / 共124页
国家二级C语言考试所有上机真题答案.docx_第4页
第4页 / 共124页
国家二级C语言考试所有上机真题答案.docx_第5页
第5页 / 共124页
点击查看更多>>
下载资源
资源描述

国家二级C语言考试所有上机真题答案.docx

《国家二级C语言考试所有上机真题答案.docx》由会员分享,可在线阅读,更多相关《国家二级C语言考试所有上机真题答案.docx(124页珍藏版)》请在冰豆网上搜索。

国家二级C语言考试所有上机真题答案.docx

国家二级C语言考试所有上机真题答案

1

1、下列给定程序中,函数fun的功能是:

计算如下公式

直到,并且把计算结果作为函数值返回。

例如,若形参e的值为1e-3,则函数返回值为0.551690。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)3.0或(double)3  

(2)>  (3)(t+1)

2、下列给定程序中函数fun的功能是:

求出如下分数序列的前n项之和。

和值通过函数值返回。

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)doublefun(intn)

(2)s=s+(double)a/b;

3、请编写函数fun,其功能是:

找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

intfun(inta[][M])

{

inti,j,max=a[0][0];

for(i=0;i<2;i++)

for(j=0;j

if(max

max=a[i][j];

returnmax;

}

2

1、下列给定程序中,函数fun的功能是:

计算如下公式前n项的和并作为函数值返回。

例如,当形参n的值为10时,函数返回值为9.612558。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)0  

(2)n  (3)(t*t)

2、下列给定程序中函数fun的功能是:

统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)for(i=0;str[i];i++)

(2)if(substr[k+1]=='\0')

3、编写函数fun,其功能是:

根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

程序运行后,若输入精度0.0005,则程序应输出为3.14…。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

doublefun(doubleeps)

{

doubles=1.0,s1=1.0;

intn=1;

while(s1>=eps)/*当某项大于精度要求时,继续求下一项*/

{s1=s1*n/(2*n+1);/*求多项式的每一项*/

s=s+s1;/*求和*/

n++;

}

return2*s;

}

3

1、给定程序中,函数fun的功能是:

统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。

例如,若形参s所指的字符串为"abcdef35adgh3kjsdf7",则输出结果为4。

请在下画线处填入正确内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)s[i]  

(2)'9'  (3)*t=n

2、下列给定程序中函数fun的功能是:

实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)t=*x;*x=y;

(2)return(t);或returnt;

3、编写函数fun,其功能是:

求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。

注意:

部分原程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

voidfun(int*a,int*n)

{

inti,j=0;

for(i=1;i<=1000;i++)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/

if((i%7==0||i%11==0)&&i%77!

=0)

a[j++]=i;

*n=j;

}

4

1、下列给定程序中,函数fun的功能是:

把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:

若a所指数组中的数据最初排列为:

9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:

9、1、3、5、7,返回值为5。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)1  

(2)j++  (3)j

2、下列给定程序中函数fun的功能是:

实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

下列给定程序中函数fun的功能是:

求两个非零正整数的最大公约数,并作为函数值返回。

例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。

请改正程序中的错误,使它能得出正确结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

【参考答案】

(1)t=a;a=b;b=t;

(2)return(b);或returnb;

3、规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:

删除字符串中所有的*号。

编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:

****A*BC*DEF*G*******,删除后字符串中的内容应当是:

ABCDEFG。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干的语句。

【参考答案】

voidfun(char*a)

{

inti,j=0;

for(i=0;a[i]!

='\0';i++)

if(a[i]!

='*')

a[j++]=a[i];/*若不是要删除的字符'*'则留下*/

a[j]='\0';

}

5

1、下列给定程序中,函数fun的功能是:

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)0  

(2)10*x(3)n/10

2、下列给定程序中函数fun的功能是:

将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为7531。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)*t=0;

(2)if(d%2!

=0)或if(d%2==1)

3、编写函数fun,其功能是:

实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:

FirstString--

SecondString

程序输出:

FirstString--SecondString

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

voidfun(charp1[],charp2[])

{

inti,j;

for(i=0;p1[i]!

='\0';i++);

for(j=0;p2[j]!

='\0';j++)

p1[i++]=p2[j];

p1[i]='\0';

}

6

1、下列给定程序中,函数fun的功能是:

把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:

9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:

1、9、2、8、3、7、4、6、5。

形参n中存放a所指数组中数据的个数。

规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不行更改程序的结构!

【参考答案】

(1)a[i]  

(2)a[j]  (3)a[j]

2、下列给定程序中函数fun的功能是:

用递归算法计算斐波拉契数列中第n项的值。

从第1项起,斐波拉契数列为:

1、1、2、3、5、8、13、21、……

例如,若给n输入7,则该项的斐波拉契数值为13。

请改正程序中的错误,使它能得出正确结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

【参考答案】

(1)去掉分号

(2)case1:

case2:

return1;

3、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:

求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:

85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。

【参考答案】

voidfun(STREC*a)

{

inti;

a->ave=0.0;

for(i=0;i

a->ave=a->ave+a->s[i];/*求各门成绩的总和*/

a->ave/=N;/*求平均分*/

}

7

1、下列给定程序中,函数fun的功能是进行数字字符转换。

若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

请在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1