二级考试试题Word文档格式.docx
- 文档编号:17199459
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:12
- 大小:18.52KB
二级考试试题Word文档格式.docx
《二级考试试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《二级考试试题Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
for(i=1,j=0;
i
/
p[j]=___3___;
main()
{chars[80]="
baawrskjghzlicda"
p[50];
printf("
\nTheoriginalstringis:
%s\n"
s);
fun(s,p);
\nTheresultis:
p);
解题思路:
第一处:
取外循环的控制变量,所以应填:
t=i。
第二处:
内循环的起始变量,应该是i+2,所以应填:
i。
第三处:
新字符串处理完后应添加字符串结束符,所以应填:
'
。
改错题
给定程序MODI1.C中函数fun的功能是:
用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:
π111
┄┄≈1-┄┄+┄┄-┄┄+...
4357
例如,程序运行后,输入0.0001,则程序输出3.1414。
请改正程序中的错误,使它能输出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
floatfun(floatnum)
{ints;
floatn,t,pi;
t=1;
pi=0;
n=1;
s=1;
while(t>
=num)
{
pi=pi+t;
n=n+2;
s=-s;
t=s%n;
pi=pi*4;
returnpi;
main()
{floatn1,n2;
Enterafloatnumber:
"
);
scanf("
%f"
&
n1);
n2=fun(n1);
%6.4f\n"
n2);
要判断t的最后一项绝对小于指定的数,由于t是实数,那么应改为while(fabs(t)>
=num)。
t是s除以n的值,而不是取余数,所以应改t=s/n;
编程题
请编写一个函数voidfun(chara[],charb[],intn),其功能是:
删除一个字符串中指定下标的字符。
其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串:
World,然后输入3,则调用该函数后的结果为:
Word。
注意:
部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#defineLEN20
voidfun(chara[],charb[],intn)
{
{charstr1[LEN],str2[LEN];
intn;
Enterthestring:
\n"
gets(str1);
Enterthepositionofthestringdeleted:
%d"
n);
fun(str1,str2,n);
Thenewstringis:
str2);
NONO();
本题是利用字符串拷贝和字符串连接来生成新的字符串。
参考答案:
strncpy(b,a,n);
b[n]=0;
strcat(b,a+n+1);
给定程序中,函数fun的功能是:
在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#defineN5
#defineM10
voidfun(char(*ss)__1__,intk)
{inti=0;
while(i<
__2__){
ss[i][k]=__3__;
i++;
{charx[N][M]={"
Create"
"
Modify"
Sort"
skip"
Delete"
};
inti;
\nTheoriginalstring\n\n"
);
i<
fun(x,4);
\nThestringafterdeleted:
\n\n"
i++)="
puts(x[i]);
本题是根据给定的字符串数组中删除串长大于某个值的右边字符串。
函数的定义,试题中已用M作为字符串的长度,所以应填:
M。
利用while循环,分别对字符串数组中的每个字符串置字符串结束符,程序中已经给定了N个字符串,所以应填:
N。
置字符串结束符,所以应填:
0(或'
)。
改错题
给定程序MODI1.C中函数fun的功能是:
根据以下公式求π值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。
π1121231234
─=1+─+─×
─+─×
─×
─+……
23353573579
请改正程序中的错误,使它能得出正确结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构。
doublefun(doubleeps)
{doubles,t;
intn=1;
s=0.0;
t=0;
while(t>
eps)
{s+=t;
t=t*n/(2*n+1);
n++;
return(s);
{doublex;
\nPleaseenteraprecision:
scanf("
%lf"
&
x);
\neps=%lf,Pi=%lf\n\n"
x,fun(x));
第一处:
初始化t的值,根据程序中的计算程序和试题的要求得出,t应为1。
第二处:
根编程题
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
使字符串的前导*号不得多于n个;
若多于n个,则删除多余的*号;
若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
例如,字符串中的内容为:
*******A*BC*DEF*G****,若n的值为4,删除后,
字符串中的内容应当是:
****A*BC*DEF*G****;
若n的值为8,则字符串中的内容仍
为:
*******A*BC*DEF*G****。
n的值在主函数中输入。
在编写函数时,不得使用C语言提供的字符串函数。
部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
voidfun(char*a,intn)
inti=0,j,k=0;
while(a[k]=='
*'
)k++;
/*k为统计*字符个数*/
if(k>
n)
i=n;
j=k;
/*以下完成将下标为k至串尾的字符前移k-n个位置*/
{chars[81];
intn;
Enterastring:
gets(s);
Entern:
scanf("
n);
fun(s,n);
Thestringafterdeleted:
puts(s);
NONO();
本题是考察字符串的操作。
利用for循环来判断a[j]的字符是否是字符串结束符,如果不是字符串结束符,则把a[j]
的字符依次存放到a[i]。
其中,变量i是n的初始值,变量j是字符串前导的*号数。
voidfun(char*a,intn)
for(;
a[j]!
=0;
j++)
a[i++]=a[j];
a[i]=0;
公式π/2得出,所以返回时应原有s的基础上乘以2作为返回值。
2011年计算机二级C语言上机操作题及答案(79)
来源:
虎奔教育发布日期:
13-03-0716:
39:
58
第一题
请输入fun函数,该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。
例如,输入“45,55,62,42,35,52,78,95,66,73”,则结果输出“45,55,35,95,73,62,42,52,78,66”。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所写的若干表达式或语句。
#include
#define
N10
voidfun(int
aa[])
{
int
i,j=0,k=0;
bb[N];
for(i=0;
if(___1___)
bb[k++]=aa[i];
else
aa[j++]=aa[i];
___2___;
i++,j++)
aa[j]=bb[i];
}
main()
i;
aa[N]={45,55,62,42,35,52,78,95,66,73};
printf("
\n********originallist***********\n"
M"
aa[i]);
fun(aa);
\n********newlist***********\n"
第一题答案:
第1处填空:
aa[i]%2==0或0==aa[i]%2或aa[i]%2
第2处填空:
ii
第二题
下列给定程序中函数fun的功能是:
删除字符串s中的所有空白字符(包括Tab字符、回车符)。
输入字符串时用“#”结束输入。
请该正程序中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得改动程序的结构!
voidfun(char
*p)
i,t;
char
c[80];
for(i=0,t=0;
p[i];
i++)
if(!
isspace(*(p+i)))
c[t++]=p[i];
/********found********/
c[t]="
\0"
strcpy(p,c);
c,s[80];
i=0;
Inputastring:
c=getchar();
while(c!
='
#'
)
{
&
nbs
p;
s[i]=c;
s[i]='
fun(s);
puts(s);
第二题答案:
第1处:
c[t]=”\0”;
应改为c[t]=’\0’;
第三题
已知学生的记录有学号和学习成绩构成,N名学生的数据已存入a结构体数组中。
请编写函数fun,该函数的功能是:
找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
已给出函数的首部,请完成该函数。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#defineN10
typedefstructss
charnum[10];
ints;
}STU;
voidfun(STUa[],STU*s)
{
STUa[N]={{"
A01"
81},{"
A02"
89},{"
A03"
66},{"
A04"
87},{"
A05"
77},
{"
A06"
90},{"
A07"
79},{"
A08"
61},{"
A09"
80},{"
A10"
71}},m;
FILE
*out;
****Theoriginaldata*****\n"
for(i=0;
i
N0=%sMark=%d\n"
a[i].num,a[i].s);
fun(a,&
m);
*****THERESULT*****\n"
Thelowest:
%s,%d\n"
m.num,m.s);
out=fopen("
out.dat"
"
w"
fprintf(out,"
%s\n%d"
fclose(out);
第三题答案:
voidfun(STUa[],STU*s)
inti,min;
min=a[0].s;
if(a[i].s
min=a[i].s;
*s=a[i];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 考试 试题