2023年全国计算机等级考试二级C语言上机题库_第1页
2023年全国计算机等级考试二级C语言上机题库_第2页
2023年全国计算机等级考试二级C语言上机题库_第3页
2023年全国计算机等级考试二级C语言上机题库_第4页
2023年全国计算机等级考试二级C语言上机题库_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

第一套inifun(STREC*a,STREC*b,intl,inlh)

1.程序填空{inti.j=O;

程序通过定义学生构造体数组,存储了若干个学生的学for(i=0;i<N;i++)

号、姓名和三门课的成绩。函数funII勺功能是将寄存学if((a[i].s>=1&&a[i],s<=h)

生数据的构造体数组,按照姓名U勺字典序(从小到大排b[j++]=a[i];

序)。请在程序的下划线处填入对时的内容并把下划线删returnj:

除,使程序得出对的I日勺成果。}

第一处structstudentt;第二套

第二处for(i=0;i<n-1;i++)I.程序填空

第三处if(strcmp(a[i].name,a|j].name)>O)给定程序中已建立一种带有头结点的单向链表,

2程序修改链表中的各结点按数据域递增有序连接。函数fun的功

给定程序M0DI1.C中函数funH勺功能是:在p所指字符能是:删除链表中数据域值相似的结点,使之只保留一

串中找出ASCII码值最大的字符,将其放在第一种位置种。

上:并将该字符前的原字符向上次序移动。第一处free(q);

/**found**/第二处q=p->next;

q=p+i;第三处q=q->next;

/♦♦found**/2.程序修改

while(q>p)给定程序MQDI1.C中出数fun的功能是:用选择

3程序设计法对数组.中的n各元素按从小到大口勺次序进行排序。

学生口勺记录由学号和成绩构成,N名学生的数据/**found**/

己在主函数中放入构造体数组s中,请编写了函数fun,P=j;

它的功能是:把指定分数范围内的学生数据放在b所指/**found**/

的数组中,分数范围内的学生人数由函数值返回。P二i;

3.程序设计由八进制数字字符串构成的字符串转换为与其面值相等

请编写一种fun函数,它的功能是:求出1到m之间(含的十进制整数。规定输入的字符串最多只能包括5位八

m)能被7或11整除的所有整数放在数组a中,通过n进制数字字符:。

返回这些数U勺个数。/**found**/

voidfun(intm,int*a,int*n)n=*p-40,;

(/**found**/

inti;n=n*8+*p-'O';

*n=0;3.程序设计

for(i=7;i<=tn;i++)学生的J记录由学号和成绩构成,N名学生的J数据

if((i%7==0)||(i%ll==0))已在主函数中放入构造体数组s中,请编写了函数fun,

a[(*n)++]=i;它的功能是:函数返回指定学号的学生数据,指定的学生

)号在主函数中输入,若没有找到指定学号,在构造体变

第三套量中给学号置空串,给成绩置-1,作为函数值返回。(用

I.程序填空于字符串比较的函数是strcmp)o

函数funE向功能是:逆置数组元素是时值。例如:若aSTRECfun(STREC*a,char*b)

所指数组中的数据依次为:1、2、3、4、5、6、7、8、{

9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参STRECc;

n给出数组中数组中数据时个数。In(i;

第一处for(i=0;i<n/2;i++)c.num[0]=,\0,;

第二处a[i]=a[n-l-i];c.s=-1;

第三处a[n-i-l]=t;for(i=0;i<N;i++)

2程序修改if(strcmp(a[il.num,b)-0)

给定程序M0DI1.C中函数fun的功能是:将一种{strcpy(c.num,a[i].num);

c.s=a[i].s;break;}母,则不转换)。

returnc;voidfun(char*ss)

}{

第四套inti;

1.程序填空fbr(i=1;i<strlen(ss);i+=2)

给定程序中,函数fun的功能是:在带有头结点{if(ss[i]>=,a,&&ss[i]<=,z,)

的单向捱表中,查找数据域中值为ch的I结点。找到后通ss[i]-=32;

过函数值返回该结点在链表中所处的次序号:若不存在)

值为ch的结点,函数值返回0.)

第一处while(p!=0)第五套

第二处if(p->data==ch)returnn;1.程序填空

第三处k=fun(head,ch);给定程序中,函数fun的功能是:计算下式前n

2.程序修改项的和作为函数值返回。例如:当形参nI向值为10时时,

给定程序MODI1.C中函数fun的功能是:删除p函数返回:9.6125588。

所指字符串的所有空白字符(包括制表符、回车符及换第一处s=0;

行符)。输入字符串时用结束输入。第二处fbr(i=l;i<=n;i++)

/**fbund**/第三处s=s+(2.0*i-1)*(2.0*i+l)/(t*t);

for(i=0,[=0;p[ij;i++)2.程序修改

/**found**/给定程序MODII.C中函数funH勺功能是:记录

subsir所指字符串在sir所指字符串中出现伯次数。

3.程序设计/**found**/

请编写一种函数fun,将ss所指字符串中所有下for(i=0;str[il;i++)

标为奇数位置上的字母转换为大写(若该位置上不是字/**found**/

if(substr[k+l]==,\O,)2.程序修改

3.程序设计给定程序MODII.C中函数fun的功能是:将s

请编写一种函数fun,它的功能是:根据如下公所指字符串中最终一次出现H勺与tl所指字符串相似的子

式求JI的值(规定满足精度0.0005,即某项不不小于串替代成t2所指定字符串,所形成的新申放在w所指II勺

0.0005时停止送代):程序运行后,假如输入精度为数组中。在此处,规定tl和t2所指字符串II勺长度相似。

0.0005,则程序输出为3.14…。/**found**/

doublefun(doublccps)whilc(*w)

{doubles=l,t=l./3;/**found**/

intn=l;if(*r==*p)

while(t>=eps)3.程序设计

{s+=l;n++;t=l*n/(2.0*n+1)函数funH勺功能是:将s所指字符串中ASCII值

;)为奇数的字符删除,串中剩余字符形成一种新串放在t

return(s*2.0);所指定的数组中。

)voidfun(char*s,chart[])

第六套{inti,j=0;

1.程序填空

for(i=0;i<strlen(s);i++)

给定程序中,函数funI肉功能是:将形参s所指

if(s[i]%2==0)t[j+4-]=s[i];

定字符串中所有的字母字符次序前移,其他字母次序后

t[j]=O;

移,处理后字符串的首地址作为函数值返回。

第一处t[j]=s[i]y++;

第七套

第二处for(i=0;i<k;i++)

1.程序填空

Hj+il=p[i];

程序通过定义学生构造体变量,存储了学生的

第三处t[j+k]=O;

学号、姓名和三门课的成绩。函数fun的功能是将形参a

所指构造体变量s中的数据进行修改,并把a中地址作为

函数值返回主函数,在主函数中输出修改后FI勺数据。第八套

第一处structstudent*1.程序填空

fun(structstudent*a)函数funU勺功能是:将形参观者工所指数组中的

第二史for(i=0;i<3;i++)前半部分元素中时值和后半部分元素中的值对换。形参n

a->scorc[i]+=l;中寄存数组中数据日勺个数,若n为奇书,则中间元素不

第三纪returna;动。

2.程序修改第一处p=(n%2==0)?n/2:n/2+1;

给定程序MODI1.C中函数fun日勺功能是:从N个字符串第二处a[i]=a[p+i];

中找出最长的I那个串,并将其地址作为函数值返回。各字第三处a[p+i]=t;

符串在主函数中输入,并放在一种字符串数组中。2.程序修改

/**found**Z给定程序MODILC中函数fun的功能是:把主

char*fun(char(*sq)[M])函数中输入II勺三个数,最大的放在a中,最小I向放在c中,

/**found**/中间放在b中。

returnsp;/**found**/

3.程序设计floatk;

函数fun曰勺功能是:将a、b中日勺两位正整数合/**found**/

并形成一种新的整数放在c中。合并的方式是:将a中

日勺十位和个位依次放在变量c及|百位和个位上,b中的十3.程序设计

位和个位数依次放在变量c的十位和千位上。学生口勺记录由学号和成绩构成,N名学生的数据已在主

#include<stdio.h>函数中放入构造体数组s中,请编写了函数fun,它的功

voidfun(intb,long*c)能是:把分数最高的学生数据放在b所指的数组中,注

{*c=(b%10)*1000+(a/l0)*100+(b/l0)*10+a%10;意:分数最高的学牛.也许不止一种,函数返回分数最高的

学生的人数。给定程序MODI1.C中函数fun口勺功能是:记录

inifun(STREC*a,STREC*b)字符串各元音字母(即:A、E、I、0、U)H勺个数。注意

(字母不分大小写。

inti,maK=a[O].s,n=O;/**found**/

for(i=l;i<N;i++)num[k]=0;

if(max<a[i].s)max=a[i].s;/**found**/

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

if(max==alij.s)b[n++]=ali];3.程序设计

returnn;请编写函数fun,函数R勺功能是:求出二级数组

)周围元素之和,作为函数值返回。二维数组中口勺值在主函

第九套数中赋予。

1.程序填空intfun(inta[M][N])

给定程序中,函数fun的功能是:计算形参x所{

指数组中N个数的平均值,(规定所有数均为正数),将inttot=0,i,j;

所指数组中不不小于平均值的数据移至数据欧I前部,不for(i=0;i<N;i++)

小于等于平均数口勺移至x所指数组的后部,平均值作为{

函数值返回,在主函数中输出平均值和移动后的数据。tot+=a|0][i];

笫一处for(i=0;i<N;i++)tor+=a[M-1J[i];

av+=x[i]/N)

第二处y[j]=x[i];fbr(i=1;i<M-1;i++){

x[i]=-l;j++;}lot+=a[i][0];

第三处i++;tot+=a[il[N1];

2.程序修改

reiumtot;能是:把分数最低的学生数据放在b所指的数组中,注

)意:分数最低H勺学生也许不止一种,函数返回分数最低的

第十套学生的人数。

I.程序填空intfun(STREC*a,STREC*b)

程序通过定义学生构造体变量,存储了学生的{

学号、姓名和三门课日勺成绩。函数fun的功能是将形参ainti,j=0,min=a[0].s;

中的数据进行修改,把修改后的数据作为函数值返回主for(i=0;i<N;i++)

函数进行输出。{if(min>a[i].s){

第一处structstudentj=0;

fun(s(ructstudenta)b[j++]=a[i];min=a[i].s;

第二处strcpy(/TiSiM);1

第三处a.score[i]+=l;elseif(min==a[i].s)

2程序修改b[j++]=a[i];

假定整数数列中的数不反复,并寄存在数组中。)

给定程序MODH.C中函数fun的功能是:删除数列中值returnj:

为x的元素。N中寄存日勺是数列中元素的个数。}

/♦♦found**/第十一套

if(p==n)return-1*1.程序填空

/**found**/给定程序中,函数fun日勺功能是:计算形参x所

a[i]=a[i+i];指数组中N个数口勺平均值,(规定所有数均为正数),将

3.程序设计所指数组中不小于平均值H勺数据移至数据的前部,不不

学生的记录由学号和成绩构成,N名学生的数据已在主小于等于平均数的移至x所指数组H勺后部,平均值作为

函数中放入构造体数组s中,请编写了函数fun,它的功函数值返回,在主函数中输出平均值和移动后的数据。

第一处av=s/N;for(i=l;i<N-l;i++)

第二处y[j++]=x[i];x[i]=-l;}{sum+=w[i][O]+w[i][N-l];

第三处if(x[i]!=-l)n+=2;

y[j++]=x[i];}

2.程序修改returnsum/n;

给定程序MODILC中函数f_m的功能是:读入1

一行英文文本行,将其中每个单词的第一种字母改成大第十二套

写,然后输出次文本行(这里的“单记”是指由空格隔开1.程序填空

日勺字符串)。给定程序中,函数fun的功能是:将自然数1一

/**fbund**/10以及它们附平方根写到名为myHle3.lxlH勺文本文献中

#include<stdio.h>然后再次序读出显示在屏幕上。

/**found**Z第一处fprintf(fp/,%d%f\n,,,i,sqrt((double)i));

upfst(char*p)第二处fclose(fp);

3.程序设计第三处if((fp=fopen(fnanie,,,rM))==NULL)

程序定义了NXNBU二级数组,并在主函数中赋2.程序修改

值,请编写函数fun,函数日勺功能是:求出数组周围元素给定程序M0DI1.C中函数fun口勺功能是:将r

的平均值并作出函数值饭给主函数中II勺So个无序整数从小到大排序。

doublefun(iniw[JlNJ)/**found**/

{inti,j,n=O;for(i=j+l;i<n;i++)

doublesum=0;Z**fbund**/

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

{sum+=w[01[i]+w[Nl][il;3.程序设计

n+=2;}函数fun的功能是:将a、b中的两位正整数合

并形成一种新H勺整数放在c中。合并的方式是:将a中3.程序设计

R勺十位和个位依次放在变量c的个位和百位上,b中的十编写函数fun,函数的功能是求出不不小于或等

位和个位数依次放在变量c的十位和千位上。于lim的所有素数并放在aa数组中,函数返回所求出的

#include<stdio.h>素数的个数。函数fun中给出U勺语句仅供参照。

voidfun(inta,intb.long*c)#include<stdio.h>

(#dcfineMAX100

*c=(b%10)*1000+(a%10)*100+(b/l0)*10+(a/10);}intfun(intlimjntaa[MAX])

第十三套{inti,j,k=O;

1.程序填空fbr(i=2;i<=lim;i++)

给定程序中,函数fun口勺功能是:找出N*N矩阵{

中每列元素中H勺最大值,并按次序一次寄存于形参b所forG=2;j<=(i/2);j++)

指的一维数组中。if(i%j==O)break;

第一处b[i]=a[0][i];if(j>(i/2))aa[k++]=i;

第二处if(b[i]<a[j][i])}returnk;}

b[i]=a[j][i];第十四套

第三处fun(x,y);1.程序填空

2.程序修改函数fun的功能是进行字母转换。若形参ch中

给定程序MODII.C中函数fun的功能是:互换小写英文字母,则转换成对应的大写英文字母;若形参

主函数中的两个变量日勺值。ch中是大写英文字母,则转换成对应向小写英文字母;

/**found**/并将转换H勺成果作为函数值返回。

in(fun(int*x,int*y)第一处if((ch>='a')&&(chv='z'))

/**found**/第二处return

ch+‘a'_A'

第三处returnch;returns;

a)2.程序修改)

b)给定程序MODI1.C中函数fun[向功能第十五套

是:给一维数组a输入任意四个整数并按下列1.程序填空

的规律输出。例如输出1、2、3、4,程序输出给定程序中,函数的功能是:把形参s所指字符

一下方阵。串下标为奇数的字符右移到下一种奇书位置,最右边呗

c)123移出字符串日勺字符绕回放到第一种奇数位置,下标为偶

3412数的字符不动(注:字符串日勺长度不小于等于2)。例如,

2341形参s所指日勺字符串为:abcdefgh,执行成果为:ahcbcdgo

1234第一处if(n%2==0)k=n-l;

/**found**/第二处c=s[k];

voidfun(int*a)第三处s[l]=c;

/**fbund**/2.程序修改

a[j]=a[j-ll;给定程序MODI1.C中函数fun的功能是:求

3.程序设计s=aa---aa------aaa—aa—a(此处aa…aa表达n个a,a和

请编写函数fun,函数的功能是:计算并输出给n欧J值在1至9之间)。

定整数nB勺所有因子(不包过1和n自身)之和。规定n/**found**/

时值不不小于1000.longs=0,i=0;

intfun(intn)/**found**/

(

in(s=0,i;3.程序设计

for(i=2;i<n;i++)请编写一种函数voidfun(char*tt,intpp[]),记

if(n%i=O)s+=i;录在It所指字符串中‘a'至26个小写字母各自出

目前的次数,并依次放在PP数组中。第3处return(std[ij);

voidfun(char*t(.intpp[1)2.程序修改

给定程序MODII.C中函数fun的功能是:从s

char*p=tt;所指字符串中,找出与t所指字符串相似U勺子串的个数

inti;作为函数值返回。

for(i=0;i<26;i++)/**found**/

PPli]=O.r++;p++;

while(*p)/**found**/

{if(*p>=?a,&&*p<=,z,)if(*r==0)

PP[*P-W]+=1;3.程序设计

P++;函数fun的功能是:将s所指字符串中ASCII值

)为偶数的字符删除,串中剩余字符形成一种新串放在t

)所指数组中。

第十六套#includ<stdio.h>

1.程序填空#includ<string.h>

人员的记录由编号和出生年、月、日构成,N名人员的数voidfun(charts,chart[])

据已在主函数中存入构造体数组std中,且编号唯一。函|

数fun的功能是:找出指定编号人员数据,作为函数值返inii,j=();

回,由主函数输出,若指定编号不存在,返回数据中编号for(i=0;i<strlen(s);i++)

为空串,if(s[i]%2)t[j++]=s[i];

第1处STUfun(STU*std,char*num)t[j]=O;

第2处if(strcmp(sld[i].num,num))

==0)第十七套

1.程序填空#includ<stdio.h>

给定程序中,函数funH勺功能是:记录形参s所viodfun(int*a,int*n)

指字符串中数字字符出现的次数,并寄存在形参I所指{inti;

的变量中,最终在主函数中输出。例如,形参s所指的字*n=0;

符串为:abcdef35adgh3kjsdf7。输出成果为:4。for(i=7;i<1000;i++)

第1处for(i=0;s[i]!=NULL;i++)if(((i%7)==0||(i%ll)==0

第2处if(s[i]>=,(T&&s[i]<=,9,)&&(i%77)!=0)a[(*n)++]=i;

n++;)

第3处*t=n;第十八套

2.程序修改1.程序填空

给定程序MODII.C中函数f」n的功能是:通过给定程序中,函数fun的功能是:有NXN矩阵,

某种方式实现两个变量H勺互换,规定不容许增长语句和根据给定H勺m(m<=n)值,将每行元素中口勺值均右移m

体现式,例如变量a中的值原为8.b中I内值原为3,程序个位置、左边值为0.

运行后a中值为3,b中时值为8.第1处for(i=0;i<N;i++)

/**found**/第2处

t=*x;*x=y;第3处for(j=0;j<m;j++)

/♦♦found**/2.程序修改

reiurn(i);给定程序MODI1.C中函数fun日勺功能是:计算

3.程序设计并输出high以内最大的10个素数之和。highW、J值由主

请编写函数fun,函数的功能是:求出I到1(X)0函数传给fun函数。

之间能被7或11整除,但不能同步被7和11整除的所有/**found**/

整数并将它们放在a所指H勺数组中,通过n返回这些数的while((2<=high)&&(n<10))

个数。/**found**/

yes=O;break;列元素行依次左移,本来左边的各列依次绕到右边。

3.程序设计第1处for(p=l;p<=k;p++)

请编写函数fun,函数的功能是:运用一下所示第2处for(j=0;jvN-l;j++)

的简朴迭代措施求方程求方程:cos(x)-x=0的一种实a[i][j]=a[i][j+l];

根。xn+l=cos(xn)迭代环节如下:(1)取xl的初值为第3处a[i][N-l]=temp;

0.0;(2)x0=x1,把xl的值赋给x0;(3)x1=cos(x0),2.程序修改

求出一种新的Ixl;(4)若xO-xl口勺绝对值不不小于1给定程序MODI1.C中函数fun的功能是:

O.OOOOCH执行环节(5)否则执行环节(2);(5)所求X1根据形参m的值(2<=m<=9),在m行m列的二维

就是方程cos(x)-x=0日勺一种实根作为函数值返回。程数组中寄存如下所示规律的J数据,由main函数输

序将输出成果为:Rool=0.739058o出。例如,若输入2则输出:

floatfun()22

(34

floatx0,x1=0.0;/**found**/

do{fun(inta[][M],intm)

x0=x1;/**found**/

xl=cos(x0);a[j][k]=(k4-l)*(j+l);

}whilc(fabs(xO-x1)>0.000001);3.程序设计

returnxl;函数fun时功能是:将a、b中日勺两位正整数合

)并形成一种新的整数放在c中。合并的方式是:将a中

第十九套的十位和个位依次放在变量c口勺十位却千位上,b中的十

1.程序填空位和个位数依次放在变量cH勺个位和百位上。

给定程序中,函数fun的功能是:将a所指H勺3voidfun(inta,int*c)

X5矩阵中第k列的元素左移到第0列,第k列后来的每

*c=(a%l0)*1000+(b%10)*100向原字符串,删除指定字符后的)字符串放在b所指的n

+(a/10)*10+(b/10);中存入指定H勺下标。

}viodfun(chara[],char

第二十套b[],intn)

1.程序填空{

给定程序中,函数funB勺功能是:对形参s所指strncpy(b,a,n);

字符串中下标为奇数的字符ASCII码大小递增排序,并b[n]=0;

将排序后的卜标为奇数的字符取出,形成一种新串。strcat(b.a+n+1);

第1处0;)

第2处for(j=i+2;j<n;j=j+2)第二十一套

第3处p[j]=0;1.程序填空

2.程序修改给定程序中,函数funf内功能是:在形参ss所指

给定程序MODI1.C中函数f」nl内功能是:用下字符串数组中,将所有串长超过k的字符串右边的字符

面的公式求Ji的近似值,懂得最终一项的近似值不不小删去,只保用左边"勺k个字符。ss所指字符串数组中共

于指定数(参数num)为止:例如程序0.0001,则程序有N个字符串,且串不不小于Mo

输出3.1414。第一处voidfun(char(*ss)[M],intk)

/♦♦found**/

温馨提示

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

评论

0/150

提交评论