国家计算机二级考试上机试题库_第1页
国家计算机二级考试上机试题库_第2页
国家计算机二级考试上机试题库_第3页
国家计算机二级考试上机试题库_第4页
国家计算机二级考试上机试题库_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级C-第1套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:求SS所指字符串数组中长度最短的字符串所在的行

下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M

个字符串,且串长小于N。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(1)M(2)<(3)k

二、程序修改题

下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字

母,其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"o

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

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

【参考答案】

(l)if((tt[i]>='a')&&(tt[i]<='z'))

(2)tt[i]-=32;

三、程序设计题

编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数

的个数通过k返回。

例如,若输入17,则应输出:46891012141516,

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

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

语句。

【参考答案】

voidfun(intm,int*k,intxx[])

inti,j,n=0;

for(i=4;i<m;i++)

/*找出大于1小于整数m的非素数*/

{for(j=2;j<i;j++)

if(i%j==O)break;

if(j<i)xx[n++]=i;

)

*k=n;

/*返回非素数的个数*/

}

二级(:_第2套上机题

一、程序填空题

函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(Dj=2(2)i(3)j

二、程序修改题

数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun的功能是:

计算前n(4<n<50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,

符合此条件的累加值的个数作为函数值返回。

例如,当n的值为20时,该数列为3、8、13、18、23、28、…、93、98,符合此条件的累

加值应为42、126、366、570、1010,

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

注意:部分源程序在文件M0DH.C中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(1)inti,j=0,k.sum;

(2)if(sum%4==2)

三、程序设计题

请编写函数fun,其功能是:计算并输出下列多项式的值,

S=(1-1/2)+(1/3-1/4)4----卜(l/(2n-l)-l/2n)

例如,若主函数从键盘给n输入8后,则输出为S=0.662872。

注意:要求n的值大于1但不大于100。部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

doublefun(intn)

(

inti;

doubles=0.0;

for(i=l;i<=n;i++)

s=s+(l.0/(2*i-l)-l.0/(2*i));/*计算S=(1-1/2)+(1/3-1/4)+(l/(2n-l)-l/2n)

*/

returns;

)

二级(:_第3套上机题

一、程序填空题

程序通过定义学生结构体变量,存储学生的学号、和3门课的成绩。函数fun的功能是:对

形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。

例如,若b所指变量t中的学号、和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,

修改后输出t中的数据应为:10004、"LiJie"、93、85、87。

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

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

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

【参考答案】

(1)->sno(2)->name(3)&t

二、程序修改题

下列给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如

下:

例如,a为2时,平方根值为:1.414214。

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

注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)doublefun(doublea,doublexO)

(2)if(fabs(xl-xO)>=0.00001)

三、程序设计题

学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写

函数fun,其功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分

的学生人数通过形参n传回,平均分通过函数值返回。

注意:部分源程序在文件PROGLC中。

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

语句。

【参考答案】

doublefun(STREC*a,STREC*b,int*n)

(

inti;

doubleav=0.0;

*n=0;

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

av=av+a[i].s;

av=av/N;/*求平均值*/

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

if(av<=a[i].s)

{b[*n]=a[i];*n=*n+l;}/*将高于等于平均分的学生存入b所指存储单元中,并统计人数

*/

returnav;/*返回平均分*/

)

二级C_第4套上机题

一、程序填空题

给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由

长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。

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

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

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

【参考答案】

(1)i(2)ps[j](3)tp

二、程序修改题

已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列

给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通

过形参传入。

例如,当n=10时,程序的输出结果应为23.197745。

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

注意:部分源程序在文件M0DI1.C中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(1)doublefun(intn)

(2)returnsum;

三、程序设计题

请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

S=l+x+x2/2!+x3/3!+…+xn/n!

例如,当n=10,x=0.3时,函数值为1.349859。

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

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

语句。

【参考答案】

doublefun(doublex,intn)

(

inti;

doubles=l.0,sl=l.0;

for(i=l;i<=n;i++)

{sl=sl*i;/*各项中的阶乘*/

s=s+pow(x,i)/sl;/*按公式求出*/

)

returns;

}

二级C_第5套上机题

一、程序填空题

程序通过定义学生结构体数组,存储若干名学生的学号、和三门课的成绩。函数fun的功能

是:将存放学生数据的结构体数组,按的字典序(从小到大)排序。

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

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

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

【参考答案】

(1)structstudent(2)n-1

(3)a[i].name,a[j].name

二、程序修改题

下列给定程序中函数fun的功能是:从p所指字符串中找出ASCH码值最大的字符,将其放

在第一个位置上,并将该字符前的原字符向后顺序移动。

例如,调用fun函数之前给字符串输入"ABCDeFGH",调用后字符串中的容应为"eABCDFGH”。

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

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

【参考答案】

(l)q=p+i;

(2)while(q>p)

三、程序设计题

学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中。请编写

函数fun,其功能是:把指定分数围的学生数据放在b所指的数组中,分数围的学生人数由函

数值返回。

例如,输入的分数是60、69,则应当把分数在60飞9的学生数据输出,包含60分和69分的学

生数据。主函数中把60放在low中,把69放在heigh中。

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

intfun(STREC*a,STREC*b,int1,inth)

(

inti,j=0;

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

if(a[il.s>=l&&a[i].s<=h)

/*将分数高于1,低于h的学生记录存入结构体数组b中*/

b[j++]=a[i];

returnj;/*返回分数围的学生人数*/

}

二级(2_第6套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字

符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为"def35adh3kjsdf7",执行后结果为"defadhajsdf3537"。

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

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

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

【参考答案】

⑴j++或j+=l或++j或j=j+l

⑵s[i]=tl[i]⑶j

二、程序修改题

下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

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

注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改程序的结构!

【参考答案】

(l)for(j=i+1;j<6;j++)

(2)*(pstr+i)=*(pstr+j);

三、程序设计题

编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为1,则输出3。

注意:部分源程序在文件PR0GLC中。

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

语句。

【参考答案】

intfun(char*ss,charc)

(

inti=0;

for(;*ss!='\0';ss++)

if(*ss==c)

i++;/*求出ss所指字符串中指定字符的个数*/

returni;

}

二级C_第7套上机题

一、程序填空题

下列给定程序中,函数fun的功能是计算下式

直到

,并将计算结果作为函数值返回。

例如,若形参e的值为le-3,函数的返回值为2.985678。

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

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

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

【参考答案】

(1)0(2)i++或++i或i+=l或i=i+l(3)2.0*i

二、程序修改题

下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放

在t所指的数组中。

例如,当s所指字符串为:"ABCD"时,t所指字符串中的容应为:"ABCDDCBA"。

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

注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)voidfun(char*s,char*t)

(2)t[2*d]='\0';或t[d+i]='\O';或t[2*d]=0;或t[d+i]=0;

三、程序设计题

编写函数fun,其功能是:将s所指字符串中除了下标为奇数同时ASCH值也为奇数的字符

之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若s所指字符串的容为:"ABCDEFG12345",其中字符A的ASCII码值为奇数,但所在

元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为

奇数,因此不应当删除,其它依此类推。最后t所指数组中的容应为:"135"。

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

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

语句。

【参考答案】

voidfun(char*s,chart[])

(

inti,j=0,n;

n=strlen(s);

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

if(i%2!=0&&s[i]%2!=0)

{t[j]=s[i];/*将下标为奇数同时ASCII码值为奇数的字符放入数组t中*/

j++;

)

t[j]='\O';/*最后加上结束标识符*/

}

二级C_第8套上机题

一、程序填空题

程序通过定义学生结构体变量,存储学生的学号、和3门课的成绩。函数fun的功能是:将

形参a所指结构体变量s中的数据进行修改,并把a的地址作为函数值返回主函数,从主函

数中输出修改的数据。

例如,a所指变量s中的学号、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,

修改后输出t中的数据应为:10002、"LiSi"、96、81、89。

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

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

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

【参考答案】

(1)structstudent*(2)a->score[i](3)a

二、程序修改题

下列给定程序中函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值

返回。各字符串在主函数中输入,并放入一个字符串数组中。

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

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

【参考答案】

(l)char*fun(char(*sq)[M])

(2)returnsp;

三、程序设计题

编写函数fun,其功能是:将a、b中的两个两位正整数合并成一个新的整数放在c中。合

并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数

依次放在变量c的十位和千位上。

例如,当a=45,b=12,调用该函数后c=2415。

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

voidfun(inta,intb,long*c)

(

*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;

)

二级C_第9套上机题

一、程序填空题

程序通过定义学生结构体变量,存储学生的学号、和3门课的成绩。函数fun的功能是:将

形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。

例如,若传给形参a的数据中学号、和三门课的成绩依次是:10001、"ZhangSan"、95、80、

88,修改后的数据应为:10002,"LiSi\96、81、89。

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

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

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

【参考答案】

(1)structstudent(2)a.name

(3)a.score[i]

二、程序修改题

假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数

列中值为x的元素。变量n中存放数列中元素的个数。

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

注意:部分源程序在文件M0DILC中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)if(p==n)return-1;

(2)a[i]=a[i+l];

三、程序设计题

编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的

方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放

在c数的千位和十位上。

例如,当a=45,b=12时,调用该函数后,c=1524。

注意:部分源程序在文件PR0G1.C中。数据文件IN.DAT中的数据不得修改。

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

语句。

【参考答案】

voidfun(inta,intb,long*c)

(

*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;

)

二级C—第10套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个

*号。例如,形参s所指的字符串为"def35adh3kjsdf7",执行后结果为

"def3*5*adh3*kjsdf7*"

注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!

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

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

【参考答案】

(1)&&(2)0或'\0'⑶s[j]或*(s+j)

二、程序修改题

下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。

例如,若m的值为5,则应输出1.463611。

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

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

【参考答案】

(1)for(i=2;i<=m;i++)

(2)y+=l.0/(i*i);或y+=(double)1.0/(i*i)

三、程序设计题

编写函数fun,其功能是:实现B=A+A',即将矩阵A加上A的转置,存放在矩阵B中。计

算结果在main函数中输出。

例如,输入下面的矩阵:其转置矩阵为:

程序输出:

注意:部分源程序在文件PR0GLC中。

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

若干语句。

【参考答案】

voidfun(inta[3][3],intb[3][3])

(

inti,j;

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

for(j=0;j<3;j++)

b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置,存放在矩阵b中*/

}

二级C_第11套上机题

一、程序填空题

给定程序中,函数fun的功能是:判断形参s所指字符串是否是"回文"(Palindrome),若是,

函数返回值为1;不是,函数返回值为0。"回文"是正读和反读都一样的字符串(不区分大小

写字母)。

例如,LEVEL和Level是"回文",而LEVLEV不是"回文"。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(1)s(2)—(3)return0

二、程序修改题

下列给定程序中,函数fun的功能是:求出如下分数列的前n项之和。

和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。

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

注意:部分源程序在文件MODH.C中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(1)doublefun(intn)

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

三、程序设计题

请编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是:将大于整数m且

紧靠m的k个素数存入所指的数组中。

例如,若输入17,5,则应输出19、23、29、31、37。

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

voidfun(intm,intk,intxx[])

(

inti,j,n;

for(i=m+l,n=0;n<k:i++)/*找大于m的素数,循环k次,即找出紧靠m的k个素数*/

{for(j=2;j<i;j++)/*判断一个数是否为素数,如果不是,跳出此循环,判断下一个数

*/

if(i%j==O)break;

if(j>=i)/*如果是素数,放入数组xx中*/

xx[n++]=i;

)

}

二级C_第12套上机题

一、程序填空题

函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量

cl,c2、c3返回主函数。

例如,当n=123114350时,结果应该为:cl=3c2=lc3=2。

注意:部分源程序在文件BLANKLC中。

请勿改动main函数和其他函数中的任何容,仅在函数fun的横线上填入所编写的若干表达

式或语句。

【参考答案】

(1)n%10(2)break(3)break

二、程序修改题

下列给定程序中,函数fun实现的功能是:统计一个无符号整数中各位数字值为0的个数,

通过形参传回主函数,并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无

符号整数30800,则数字值为0的位的个数为3,各位上数字值最大的是8。

请改正函数fun中的错误,使它能得出正确的结果。

注意:部分源程序在文件MOD".C中,不要改动main函数,不得增行或删行,也不得更改程

序的结构。

【参考答案】

(l)if(t==0)

(2)*zero=count;

三、程序设计题

请编写函数fun,其功能是:计算并输出下列多项式的值。

例如,在主函数中从键盘为n输入50后,输出为S=L718282。

注意:要求n的值在大于1但不大于100之间。部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

doublefun(intn)

(

doub1eSUHFO,tmp二1;

inti;

for(i=l;i<=n;i++)

(

tmp=tmp*i;

sum+=l.0/tmp;

)

returnsum;

)

二级C_第13套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符

串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回一1。ss

所指字符串数组中共有N个容不同的字符串,且串长小于M。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(1)N(2)i(3)-1

二、程序修改题

下列给定程序中函数fun的功能是:从整数10到55之间,查找能被3整除且有一位上的数

值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中

al放个位数,a2放十位数。

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

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

【参考答案】

(l)a2=k/10;

(2)returni;

三、程序设计题

规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全

部删除,前面和中间的*号不动。

例如,字符串中的容为:"****A*BC*DEF*G*******",删除后,字符串中的容应当是:

"****A*BC*DEF*G"。在编写函数时,不得使用C语言提供的字符串函数。

注意:部分源程序在文件PR0GLC中。

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

语句。

【参考答案】

voidfun(char*a)

(

while(*a!='\0')

a++;

a—;/*指针a指向字符串的尾部*/

while(*a=='*')

a—;/*指针a指向最后一个字母*/

*(a+l)='\0';/*在字符串最后加上结束标志符*/

)

二级,_第14套上机题

一、程序填空题

给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放

在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为

nabcdef35adgh3kjsdf7",则输出结果为4。

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

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

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

【参考答案】

⑴s[i](2)'9'(3)*t=n

二、程序修改题

下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。

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

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

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

【参考答案】

⑴t=*x;*x=y;

(2)return(t);或returnt;

三、程序设计题

编写函数fun,其功能是:求出11000之间能被7或H整除,但不能同时被7和11整除

的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。

注意:部分原程序在文件PR0G1.C中。

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

语句。

【参考答案】

voidfun(int*a,int*n)

(

inti,j=0;

for(i=l;i<=1000;i++)

/*求1到1000之能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a

中*/

if((i%7==0i%ll==0)&&i%77!=0)

a[j++]=i;

*n=j;

)

二级C_第15套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:计算下式前n项的和,并作为函数值返回。

例如,当形参n的值为10时,函数返回:-0.204491

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

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

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

【参考答案】

(1)1(2)2*i(3)(-1)

二、程序修改题

下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回

0o

在main。函数中,若fun返回1输出YES,若fun返回0输出NO!。

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

注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(l)k++;

(2)if(m==k)

三、程序设计题

请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形

参传回。数组元素中的值已在主函数中赋予。

主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素

的下标。

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

voidfun(inta[],intn,int*max,int*d)

(

inti;

*max=a[0];

*d=0;

for(i=0;i<n;i++)/*将最大的元素放入指针max所指的单元,最大元素的下标放入指针

d所指的单元*/

if(*max<a[i])

{*max=a[i];*d=i;)

}

二级C_第16套上机题

一、程序填空题

函数fun的功能是:计算

的前n项。若x=2.5,函数值为12.182340。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(1)1.0(2)1(3)i

二、程序修改题

下列给定程序中,函数fun的功能是:找出100〜n(不大于1000)之间三个位上的数字都相

等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。

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

注意:部分源程序在文件M0DH.C中,不要改动main函数,不得增行或删行,也不得更改程

序的结构。

【参考答案】

(l)k=i;

(2)b=k%10;

三、程序设计题

请编写函数fun,其功能是:计算并输出给定10个数的方差。

其中:

例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,

则输出为S=11.730729»

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

doublefun(doublex[10])

(

doublexl=0.0,s=0.0;

inti;

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

xl=xl+x[i];

xl=xl/10;/*求10个数的平均值*/

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

s=s+(x[i]-xl)*(x[i]-xl);

returnsqrt(s/10);/*求10个数的方差*/

)

二级C_第17套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的

字符串中后面的字符删除,只保留前面的k个字符。ss所指字符串数组中共有N个字符串,

且串长小于Mo

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

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

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

【参考答案】

(1)[M](2)N(3)'\0'

二、程序修改题

下列给定程序中函数fun的功能是:根据以下公式求口值,并作为函数值返回。

例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。

Jt/2=l+l/3+1/3X2/5+1/3X2/5X3/7+1/3X2/5X3/7X4/9+...

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

注意:部分源程序在文件M0DILC中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(l)t=l.0;

(2)return(s*2);

三、程序设计题

规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不

得多于n个,若多于n个,则删除多余的*号;若少于或等n个,则不做处理,字符串中间

和尾部的*号不删除。

例如,字符串中的容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的容

应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的容仍为:*******A*BC*DEF*G****。

n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。

注意:部分源程序在文件PR0GLC中。

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

语句。

【参考答案】

voidfun(char*a,intn)

(

inti=0;

intk=0;

char*p,*t;

p=t=a;/*开始时,p与t同时指向数组的首地址*/

while(*t==‘*')/*用k来统计前部星号的个数*/

{k++;t++;}

if(k>n)/*如果k大于n,则使p的前部保留n个星号,其后的字符依次存入数组a中*/

{while(*p)

{a[i]=*(p+k-n);

i++;

p++;

}

a[i]='\0';/*在字符串最后加上结束标识位*/

}

}

二级C_第18套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一

个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动

(注:字符串的长度大于等于2)。

例如,形参s所指字符串为"abcdefgh",执行结果为"ahcbedgf,

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

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

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

【参考答案】

(1)1(2)s[k]或*(s+k)(3)c

二、程序修改题

下列给定程序中fun函数的功能是:求表达式

s=aa…aa-----aaa-aa-a

(此处aa…aa表示n个a,a和n的值在1至9之间)

例如,a=3,n=6,则以上表达式为:

s=333333-33333-3333-333-33-3

其值是296298。

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

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

注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)longs=0,t=0;

(2)t=t/10;

三、程序设计题

编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中‘a‘到'z'26个小写字

母各自出现的次数,并依次放在pp所指的数组中。

例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:

33322110000000000000000000

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

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

语句。

【参考答案】

voidfun(char*tt,intpp口)

(

inti;

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

pp[i]=0;

/*初始化pp数组各元素为0*/

for(;*tt!='\0';tt++)

if(*tt>='a'1z')

pp[*tt-'a']++;

}

二级(:_第19套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr

所指子串的所有字符串,并输出,若没找到则输出相应信息。SS所指字符串数组中共有N

个字符串,且串长小于M。程序中库函数strstr(sl,s2)的功能是在si串中查找s2子串,

若没有,函数值为0,若有,函数值为非0。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(1)N(2)substr(3)0

二、程序修改题

下列给定程序中函数fun的功能是:求三个数的最小公倍数。

例如,若给主函数中的变量xl、x2、x3分别输入15112,则输出结果应当是330。

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

注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)fun(intx,inty,intz)或intfun(intx,inty,intz)

(2)returnj;

三、程序设计题

规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:只删除字符前导和尾

部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中

前导*号的个数,形参e给出了字符串中尾部*号的个数。在编写函数时,不得使用C语言提

供的字符串函数。

例如,字符串中的容为:"****A*BC*DEF*G*******",删除后,字符串中的容应当是:

"A*BC*DEF*G"O

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

voidfun(char*a,intn,inth,inte)

(

inti,j=0;

for(i=h;i<n-e;i++)/*第一个字母和最后一个字母之间的字符全不删除*/

a[j++]=a[i];

a[j]='\0';/*在字符串最后加上结束标识*/

)

二级C_第20套上机题

一、程序填空题

用筛选法可得到2〜n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2

的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,

并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到

一个序列:2,3,5,7,11,13,17,19,23,-

函数fun的作用是:用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返

回。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

(Da[i](2)a[i](3)0

二、程序修改题

下列给定的程序中,函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该

偶数,并将这两个素数通过形参指针传回主函数。

请改正函数fun中的错误,使它能得出正确的结果。

注意:部分源程序在文件M0DILC中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(l)y=l;

(2)d=a-i;

三、程序设计题

请编写函数fun,该函数的功能是:计算并输出n(包括n)以所有能被5或9整除的自然数

的倒数之和。

例如,若主函数中从键盘给n输入20后,则输出为$=0.583333。

注意:n的值要求不大于100。部分源程序在文件PR0GLC中。

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

语句。

【参考答案】

doublefun(intn)

inti;

doubleSUIIFO.0;

for(i=l;i<=n;i++)

if(i%5=0设9=0)

sum+=l.0/i;

returnsum;

}

二级C—第21套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:将形参s所指字符串中下标为奇数的字符取出,并按

ASCH码大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新串。

例如,形参s所指的字符为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:

aachjlswo

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

注意:部分源程序在文件BLANKLC中。

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

二、程序修改题

下列给定程序中函数fun的功能是:用下面的公式求n的近似值,直到最后一项的绝对值小

于指定的数(参数num)为止。

例如,程序运行后,输入0.0001,则程序输出3.1414。

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

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

【参考答案】

(1)while(fabs(t)>=num)

(2)t=s/n;

【参考答案】

(l)t=i(2)i(3)''0'或0

三、程序设计题

编写函数fun,其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删

除指定字符后的字符串存放在b所指的数组中,n中存指定的下标。

例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。

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

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

语句。

【参考答案】

voidfun(chara[],charb[],intn)

(

inti,k=0;

for(i=0;a[i]!='\0';i++)

if(i!=n)

/*将不是指定下标的字符存入数组b中*/

b[k++]=a[i];

b[k]='\O';/*在字符串最后加上结束标识*/

)

二级C_第22套上机题

一、程序填空题

函数fun的功能是:计算

直到

<10-6„若x=2.5,函数值为12.182494。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

⑴x(2)n(3)t

二、程序修改题

下列给定程序中,函数fun的功能是:计算n的5次方的值(规定n的值大于2且小于8),

通过形参指针传回主函数,并计算该值的个位、十位、百位上数字之和作为函数值返回。例

如,7的5次方是16807,其后3位数的和值是15。

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

注意:部分源程序在文件M0DILC中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(Dd=l;

⑵s=0;

(3)d=d/10;

三、程序设计题

请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素的平均值的

平方根之和。

例如,若给定数组中的9个元素依次为12.0、34.0、4.0,23.0、34.0、45.0、18.0、3.0、

11.0,则输出应为S=35.951014。

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

doublefun(doublex[9])

{

doublesum=0.0;

inti,j=l;

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

if(j<=8)

(

sum+=sqrt((x[i]+x[i+l])/2.0);j++;/*相邻两个元素之平均值的平方根之和*/

}

returnsum;

)

二级C_第23套上机题

一、程序填空题

函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文

字母;若ch中是大写英文字母,则转换成对应的小写英文字母;若是其他字符则保持不变;

并转换后的结果作为函数值返回。

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

注意:部分源程序在文件BLANKLC中。

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

【参考答案】

⑴&&(2)'A'(3)ch

二、程序修改题

下列给定程序中,函数fun的功能是:给一维数组a输入任意4个整数,并按如下的规律输

出。例如,输入1、2、3,4,程序运行后输出以下方阵:

4123

3412

2341

1234

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

注意:部分源程序在文件M0DILC中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(1)voidfun(int*a)

三、程序设计题

请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之

和。规定n的值不大于1000。

例如,若主函数从键盘给n输入的值为856,则输出为sum=763。

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

请勿改动main函数和其他函数中的任何容,仅在函数fun的花括号中填入所编写的若干语

句。

【参考答案】

intfun(intn)

(

ints=0,i;

for(i=2;i<=n-l;i++)/*将n减1累加*/

if(n%i=0)

s+=i;

returns;

)

二级C—第24套上机题

一、程序填空题

函数fun的功能是:从三个形参a、b、c中找出中间的数,并作为函数值返回。

例如,当a=3,b=5,c=4时,中间的数为4。

注意:部分源程序在文件BLANKLC中。

请勿改动main函数和其他函数中的任何容,仅在函数fun的下画线上填入所编写的若干表

达式或语句。

【参考答案】

(1)a(2)a(3)b

二、程序修改题

下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第5个字母;

若小写字母为v〜z,则使小写字母的值减21。转换后的小写字母作为函数值返回。例如,

若形参是字母A,则转换为小写字母f;形参是字母W,则转换为小写字母b。

请改正函数fun中的错误,使它能得出正确的结果。

注意:部分源程序在文件M0DI1.C中,不要改动main函数,不得增行或删行,也不得更改程

序的结构!

【参考答案】

(l)c=c+32;

(2)c=c+5;

三、程序设计题

请编写函数fun,该函数的功能是:计算并输出

S=l+(1+20.5)+(1+20.5+30.5)H----F(1+20.5+30.5H----FnO.5)

的值。

例如,若主函数从键盘给n输入20后,则输出为S=534.188884。

注意:部分源程序在文件PR0G1.C中。

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

语句。

【参考答案】

doublefun(intn)

inti;

doubles=0.0,sl=0.0;

for(i=l;i<=n;i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论