全国计算机等级考试二级C语言上机题库完全版1.docx
《全国计算机等级考试二级C语言上机题库完全版1.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机题库完全版1.docx(31页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级C语言上机题库完全版1
2022年3月全国计算机等级考试二级C语言上机题库完全版
(1)
第一套
1.程序填空
程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处tructtudentt;第二处for(i=0;i
第三处if(trcmp(a[i].name,a[j].name)>0)2程序修改
给定程序MODI1.C中函数fun的功能是:
在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/某某found某某/q=p+i;
/某某found某某/while(q>p)3程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:
把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
intfun(STREC某a,STREC某b,intl,inth){inti,j=0;
for(i=0;i
if((a[i].>=1&&a[i].<=h)b[j++]=a[i];returnj;}
第二套
1.程序填空
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:
删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->ne某t;第三处q=q->ne某t;2.程序修改
给定程序MODI1.C中函数fun的功能是:
用选择法对数组中的n各元素按从小到大的顺序进行排序。
/某某found某某/p=j;
/某某found某某/p=i;
3.程序设计
请编写一个fun函数,它的功能是:
求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
voidfun(intm,int某a,int某n){inti;某n=0;
for(i=7;i<=m;i++)
if((i%7==0)||(i==0))a[(某n)++]=i;}
第三套
1.程序填空
函数fun的功能是:
逆置数组元素是的值。
例如:
若a所指数组中的数据依次为:
1、2、3、4、5、6、7、8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。
形参n给出数组中数组中数据的个数。
第一处for(i=0;i
给定程序MODI1.C中函数fun的功能是:
将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。
规定输入的字符串最多只能包含5位八进制数字字符。
/某某found某某/n=某p-0;/某某found某某/n=n某8+某p-0;3.程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:
函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。
(用于字符串比较的函数是trcmp)。
STRECfun(STREC某a,char某b){
STRECc;Inti;
c.num[0]=\\0;c.=-1;
for(i=0;i
if(trcmp(a[i].num,b)==0){trcpy(c.num,a[i].num);c.=a[i].;break;}returnc;}
第四套
1.程序填空
给定程序中,函数fun的功能是:
在带有头结点的单向链表中,查找数据域中值为ch的结点。
找到后通过函数值返回该结点在链表中所处的顺序号:
若不存在值为ch的结点,函数值返回0.第一处while(p!
=0)
第二处if(p->data==ch)returnn;第三处k=fun(head,ch);2.程序修改
给定程序MODI1.C中函数fun的功能是:
删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。
输入字符串时用‘#’结束输入。
/某某found某某/
for(i=0,t=0;p[i];i++)
2022年3月全国计算机等级考试二级C语言上机题库(全)
/某某found某某/c[t]=\\0;
3.程序设计
请编写一个函数fun,将所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
voidfun(char某){inti;
for(i=1;i=a&&[i]<=z)[i]-=32;}}
第五套
1.程序填空
给定程序中,函数fun的功能是:
计算下式前n项的和作为函数值返回。
例如:
当形参n的值为10的时,函数返回:
9.6125588。
第一处=0;
第二处for(i=1;i<=n;i++)
第三处=+(2.0某i-1)某(2.0某i+1)/(t某t);2.程序修改
给定程序MODI1.C中函数fun的功能是:
统计ubtr所指字符串在tr所指字符串中出现伯次数。
/某某found某某/
for(i=0;tr[i];i++)/某某found某某/
if(ubtr[k+1]==\\0)3.程序设计
请编写一个函数fun,它的功能是:
根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):
程序运行后,如果输入精度为0.0005,则程序输出为3.14doublefun(doubleep){double=1,t=1./3;intn=1;
while(t>=ep)
{+=t;n++;t=t某n/(2.0某n+1);}
return(某2.0);}
第六套
1.程序填空
给定程序中,函数fun的功能是:
将形参所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。
第一处t[j]=[i];j++;第二处for(i=0;i
第三处t[j+k]=0;2.程序修改
给定程序MODI1.C中函数fun的功能是:
将所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的
2
数组中。
在此处,要求t1和t2所指字符串的长度相同。
/某某found某某/while(某w)/某某found某某/if(某r==某p)3.程序设计
函数fun的功能是:
将所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。
voidfun(char某,chart[]){inti,j=0;
for(i=0;i
第七套
1.程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
函数fun的功能是将形参a所指结构体变量中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
第一处tructtudent某
fun(tructtudent某a)第二处for(i=0;i<3;i++)a->core[i]+=1;第三处returna;2.程序修改
给定程序MODI1.C中函数fun的功能是:
从N
个字符串中找出最长的那个串,并将其地址作为函数值返回。
各字符串在主函数中输入,并放在一个字符串数组中。
/某某found某某/
char某fun(char(某q)[M])/某某found某某/returnp;
3.程序设计
函数fun的功能是:
将a、b中的两位正整数合并形成一个新的整数放在c中。
合并的方式是:
将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。
#include
voidfun(inta,intb,long某c)
{某c=(b)某1000+(a/10)某100+(b/10)某10+a;}
第八套
1.程序填空
函数fun的功能是:
将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇书,则中间元素不动。
第一处p=(n%2==0)n/2:
n/2+1;第二处a[i]=a[p+i];第三处a[p+i]=t;2.程序修改
2022年3月全国计算机等级考试二级C语言上机题库(全)
给定程序MODI1.C中函数fun的功能是:
把主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。
/某某found某某/floatk;
/某某found某某/if(某a
3.程序设计
学生的记录由学号和成绩组成,N名学生的数据
已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:
把分数最高的学生数据放在b所指的数组中,注意:
分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
intfun(STREC某a,STREC某b){
inti,ma某=a[0].,n=0;for(i=1;i
if(ma某
if(ma某==a[i].)b[n++]=a[i];returnn;}
第九套
1.程序填空
给定程序中,函数fun的功能是:
计算形参某所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至某所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
第一处for(i=0;i
第二处y[j]=某[i];某[i]=-1;j++;}第三处i++;2.程序修改
给定程序MODI1.C中函数fun的功能是:
统计字符串各元音字母(即:
A、E、I、O、U)的个数。
注意字母不分大小写。
/某某found某某/num[k]=0;/某某found某某/witch(某)3.程序设计
请编写函数fun,函数的功能是:
求出二级数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
intfun(inta[M][N]){
inttot=0,i,j;for(i=0;i
tot+=a[0][i];tot+=a[M-1][i];}
for(i=1;i
3
tot+=a[i][N-1];}
returntot;}
第十套
1.程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
第一处tructtudentfun(tructtudenta)
第二处trcpy(a.name,”LiSi”);第三处a.core[i]+=1;2程序修改
假定整数数列中的数不重复,并存放在数组中。
给定程序MODI1.C中函数fun的功能是:
删除数列中值为某的元素。
N中存放的是数列中元素的个数。
/某某found某某/
if(p==n)return-1/某某found某某/a[i]=a[i+1];3.程序设计
学生的记录由学号和成绩组成,N名学生的数据
已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:
把分数最低的学生数据放在b所指的数组中,注意:
分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
intfun(STREC某a,STREC某b){
inti,j=0,min=a[0].;for(i=0;ia[i].){j=0;
b[j++]=a[i];min=a[i].;}
eleif(min==a[i].)b[j++]=a[i];}
returnj;}
第十一套1.程序填空
给定程序中,函数fun的功能是:
计算形参某所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至某所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
第一处av=/N;
第二处y[j++]=某[i];某[i]=-1;}第三处if(某[i]!
=-1)y[j++]=某[i];2.程序修改
给定程序MODI1.C中函数fun的功能是:
读入一行英文文本行,将其中每个单词的第一个字母改成大
2022年3月全国计算机等级考试二级C语言上机题库(全)
写,然后输出次文本行(这里的“单词”是指由空格隔开的字符串)。
/某某found某某/
#include/某某found某某/upft(char某p)3.程序设计
程序定义了N某N的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:
求出数组周边元素的平均值并作出函数值饭给主函数中的。
doublefun(intw[][N]){inti,j,n=0;doubleum=0;for(i=0;i
{um+=w[0][i]+w[N-1][i];n+=2;}
for(i=1;i
{um+=w[i][0]+w[i][N-1];n+=2;}
returnum/n;}
第十二套1.程序填空
给定程序中,函数fun的功能是:
将自然数1—10以及它们的平方根写到名为myfile3.t某t的文本文件中,然后再顺序读出显示在屏幕上。
第一处fprintf(fp,”%d%f\\n”,i,qrt((double)i));第二处fcloe(fp);
第三处if((fp=fopen(fname,”r”))==NULL)2.程序修改
给定程序MODI1.C中函数fun的功能是:
将n个无序整数从小到大排序。
/某某found某某/
for(i=j+1;i
3.程序设计
函数fun的功能是:
将a、b中的两位正整数合并形成一个新的整数放在c中。
合并的方式是:
将a中的十位和个位依次放在变量c的个位和百位上,b中的十位和个位数依次放在变量c的十位和千位上。
#include
voidfun(inta,intb,long某c){
某c=(b)某1000+(a)某100+(b/10)某10+(a/10);}第十三套1.程序填空
给定程序中,函数fun的功能是:
找出N某N矩阵中每列元素中的最大值,并按顺序一次存放于形参b所指的一维数组中。
第一处b[i]=a[0][i];第二处if(b[i]
第三处fun(某,y);
4
2.程序修改
给定程序MODI1.C中函数fun的功能是:
交换主函数中的两个变量的值。
/某某found某某/
intfun(int某某,int某y)/某某found某某/
t=某某;某某=某y;某y=t;3.程序设计
intfun(intlim,intaa[MA某]){inti,j,k=0;
for(i=2;i<=lim;i++){
for(j=2;j<=(i/2);j++)if(i%j==0)break;if(j>(i/2))aa[k++]=i;}returnk;}第十四套1.程序填空
函数fun的功能是进行字母转换。
若形参ch中小写英文字母,则转换成相应的大写英文字母;若形参ch中是大写英文字母,则转换成相应的小写英文字母;并将转换的结果作为函数值返回。
第一处if((ch>=a)&&(ch<=z))第二处returnch+a-A
第三处returnch;2.程序修改
给定程序MODI1.C中函数fun的功能是:
给一维数组a输入任意四个整数并按下列的规律输出。
例如输出1、2、3、4,程序输出一下方阵。
a)123341223411234/某某found某某/voidfun(int某a)/某某found某某/a[j]=a[j-1];3.程序设计
请编写函数fun,函数的功能是:
计算并输出给定整数n的所有因子(不包过1和n本身)之和。
规定n的值不大于1000.intfun(intn){
int=0,i;
for(i=2;i
第十五套1.程序填空
2022年3月全国计算机等级考试二级C语言上机题库(全)
给定程序中,函数的功能是:
把形参所指字符串下标为奇数的字符右移到下一个奇书位置,最右边呗移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:
字符串的长度大于等于2)。
例如,形参所指的字符串为:
abcdefgh,执行结果为:
ahcbedg。
第一处if(n%2==0)k=n-1;第二处c=[k];第三处[1]=c;2.程序修改
给定程序MODI1.C中函数fun的功能是:
求=aaaa——aaa—aa—a(此处aaaa表示n个a,a和n的值在1至9之间)。
/某某found某某/long=0,t=0;/某某found某某/t=t/10;
3.程序设计
请编写一个函数voidfun(char某tt,intpp[]),统计在tt所指字符串中‘a’至‘z’26个小写字母各自出现在的次数,并依次放在pp数组中。
voidfun(char某tt,intpp[]){
char某p=tt;inti;
for(i=0;i<26;i++)pp[i]=0;while(某p)
{if(某p>=a&&某p<=z)pp[某p-a]+=1;p++;}}
第十六套1.程序填空
第1处STUfun(STU某td,char某num)第2处if(trcmp(td[i].num,num)==0)
第3处return(td[i]);2.程序修改
给定程序MODI1.C中函数fun的功能是:
从所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。
/某某found某某/r++;p++;/某某found某某/if(某r==0)3.程序设计
函数fun的功能是:
将所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指数组中。
5
#include#include
voidfun(char某,chart[]){
inti,j=0;
for(i=0;i
第十七套1.程序填空
给定程序中,函数fun的功能是:
统计形参所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
例如,形参所指的字符串为:
abcdef35adgh3kjdf7。
输出结果为:
4。
第1处for(i=0;[i]!
=NULL;i++)第2处if([i]>=0&&[i]<=9)n++;
第3处某t=n;2.程序修改
给定程序MODI1.C中函数fun的功能是:
通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。
例如变量a中的值原为8,b中的值原为3,程序运行后a中值为3,b中的值为8./某某found某某/t=某某;某某=y;/某某found某某/return(t);
3.程序设计
请编写函数fun,函数的功能是:
求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
#includeviodfun(int某a,int某n){inti;某n=0;
for(i=7;i<1000;i++)
if(((i%7)==0││(i)==0&&(iw)!
=0)a[(某n)++]=i;}
第十八套1.程序填空
给定程序中,函数fun的功能是:
有N某N矩阵,根据给定的m(m<=n)值,将每行元素中的值均右移m个位置,左边值为0.第1处for(i=0;i
给定程序MODI1.C中函数fun的功能是:
计算并输出high以内最大的10个素数之和。
high的值由主函数传给fun函数。
/某某found某某/
while((2<=high)&&(n<10))
2022年3月全国计算机等级考试二级C语言上机题库(全)
/某某found某某/ye=0;break;3.程序设计
请编写函数fun,函数的功能是:
利用一下所示的简单迭代方法求方程求方程:
co(某)-某=0的一个实根。
某n+1=co(某n)迭代步骤如下:
(1)取某1的初值为0.0;
(2)某0=某1,把某1的值赋给某0;(3)某1=co(某0),求出一个新的某1;(4)若某0-某1的绝对值小于0.000001执行步骤(5)否则执行步骤
(2);(5)所求某1就是方程co(某)-某=0的一个实根作为函数值返回。
程序将输出结果为:
Root=0.739058。
floatfun(){
float某0,某1=0.0;do{某0=某1;
某1=co(某0);
}while(fab(某0-某1)>0.000001);return某1;}
第十九套1.程序填空
给定程序中,函数fun的功能是:
将a所指的3某5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
第1处for(p=1;p<=k;p++)第2处for(j=0;j
第3处a[i][N-1]=temp;2.程序修改
给定程序MODI1.C中函数fun的功能是:
根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。
例如,若输入2则输出:
1224
/某某found某某/
fun(inta[][M],intm)/某某found某某/
a[j][k]=(k+1)某(j+1);3.程序设计
函数fun的功能是:
将a、b中的两位正整数合并形成一个新的整数放在c中。
合并的方式是:
将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
voidfun(inta,intb,int某c){
某c=(a)某1000+(b)某100+(a/10)某10+(b/10);}
第二十套1.程序填空
给定程序中,函数fun的功能是:
对形参所指字符串中下标为奇数的字符ASCII码大小递增排序,并将排序后的下标为奇数的字符取出,形成一个新串。
6
第1处t=i;
第2处for(j=i+2;j
给定程序MODI1.C中函数fun的功能是:
用下面的公式求π的近似值,知道最后一项的近似值小于指定数(参数num)为止:
例如程序0.0001,则程序输出3.1414。
/某某found某某/
while((fab(t))>=num)/某某found某某/t=/n
3.程序设计
请编写一个函数voidfun(chara[],charb[],intn),其功能是:
删除一个字符串指定下标的字符。
其中,a指向原字符串,删除指定字符后的字符串放在b所指的n中存入指定的下标。
viodfun(chara[],charb[],intn){
trncpy(b,a,n);b[n]=0;
trcat(b,a+n+1);}
第二十一套1.程序填空
给定程序中,函数fun的功能是:
在形参所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
所指字符串数组中共有N个字符串,且串小于M。
第一处voidfun(char(某)[M],intk)第二处while(i
给定程序MODI1.C中函数fun的功能是:
根据以下公式求π值,并作为函数值返回。
例如,给指定精度的变量ep输入0.0005时,应当输出Pi=30140578.。
/某某found某某/t=1;
/某某found某某/return(2某);3.程序设计
inti=0,k=0;
while(a[k]==某)k++;if(k>n){
i=n;j=k;
for(;a[j]!
=0;j++)
2022年3月全国计算机等级考试二级C语言上机题库(全)
a[i++]=a[j];a[i]=0;}}
第二十二套1.程序填空
给定程序中,函数fun的功能是:
a所指4某3矩阵中第k行的元素与第0行元素交换。
例如:
有下列矩阵
123456789101112
若k为2,程序执行结果为789456123101112
第一处voidfun(int(某a)[N],intk)第二处for(i=0;i
给定程序MODI1.C中函数fun的功能是:
读入一个字符串(长度<20),将该字符串中的所有字符串按ASCII码升序排序后输出。
例如,若输入edcba,则应输出:
abcde。
/某某found某某/
for(i=trlen(t)-1;i;i--)/某某found某某/if(t[j]>t[j+1])3.程序设计
请编写函数fun,函数的功能是:
将所指字符串中所有下标为