国家二级C语言考试所有上机真题答案Word下载.docx
- 文档编号:15774511
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:124
- 大小:69.25KB
国家二级C语言考试所有上机真题答案Word下载.docx
《国家二级C语言考试所有上机真题答案Word下载.docx》由会员分享,可在线阅读,更多相关《国家二级C语言考试所有上机真题答案Word下载.docx(124页珍藏版)》请在冰豆网上搜索。
(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<
M;
j++)
if(max<
a[i][j])
max=a[i][j];
returnmax;
}
2
1、下列给定程序中,函数fun的功能是:
计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
注意:
不得增行或删行,也不得更改程序的结构!
(1)0
(2)n (3)(t*t)
统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
(1)for(i=0;
str[i];
(2)if(substr[k+1]=='
\0'
)
3、编写函数fun,其功能是:
根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
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。
请在下画线处填入正确内容并将下画线删除,使程序得出正确的结果。
(1)s[i]
(2)'
9'
(3)*t=n
实现两个变量值的交换,规定不允许增加语句和表达式。
例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。
请改正程序中的错误,使它得出正确的结果。
部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
(1)t=*x;
*x=y;
(2)return(t);
或returnt;
求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
部分原程序在文件PROG1.C中。
voidfun(int*a,int*n)
inti,j=0;
for(i=1;
=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
把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。
例如:
若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:
9、1、3、5、7,返回值为5。
(1)1
(2)j++ (3)j
下列给定程序中函数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。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干的语句。
voidfun(char*a)
a[i]!
='
;
if(a[i]!
*'
)
a[j++]=a[i];
/*若不是要删除的字符'
则留下*/
a[j]='
5
将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862。
(1)0
(2)10*x(3)n/10
将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为7531。
【参考答案】
(1)*t=0;
(2)if(d%2!
=0)或if(d%2==1)
实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
voidfun(charp1[],charp2[])
inti,j;
p1[i]!
i++);
p2[j]!
p1[i++]=p2[j];
p1[i]='
6
把形参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存放当前所找最大值的下标。
不得增行或删行,也不行更改程序的结构!
(1)a[i]
(2)a[j] (3)a[j]
用递归算法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为:
1、1、2、3、5、8、13、21、……
例如,若给n输入7,则该项的斐波拉契数值为13。
(1)去掉分号
(2)case1:
case2:
return1;
3、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:
求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:
85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。
voidfun(STREC*a)
inti;
a->
ave=0.0;
N;
ave=a->
ave+a->
s[i];
/*求各门成绩的总和*/
ave/=N;
/*求平均分*/
7
1、下列给定程序中,函数fun的功能是进行数字字符转换。
若形参ch中是数字字符'
0'
~'
,则将'
转换成'
,'
1'
8'
2'
7'
,……,'
;
若是其它字符则保持不变;
并将转换后的结果作为函数值返回。
请在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家 二级 语言 考试 所有 上机 答案