国家C语言计算机二级题库.docx
《国家C语言计算机二级题库.docx》由会员分享,可在线阅读,更多相关《国家C语言计算机二级题库.docx(40页珍藏版)》请在冰豆网上搜索。
国家C语言计算机二级题库
2022年3月国家C语言计算机二级题库
第一套
1.程序填空
给定程序中,函数fun的功能是:
在形参所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。
S所指字符串数组中共有N个字符串,且串长小于M。
第一处for(i=0;i
第三处trcpy([j++],[i]);2.程序修改
给定程序MODI1.C中函数fun的功能是:
逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值或相等的字符依次存放在c所指数组中,形成一个新的字符串。
/某某found某某/intk=0;
/某某found某某/while(某p||某q)3.程序设计
inti=0,k;
while(a[i]!
==’某’)i++;k=i;
while(a[i]!
=’\\0’){
if(a[i]!
=’某’)a[k++]=a[i];i++;}
a[k]=’\\0’;}
第三十二套1.程序填空
给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
函数fun的功能是:
把形参某的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
第一处->data=某;第二处q=p;
第三处q->ne某t=;2.程序修改
给定程序MODI1.C中函数fun的功能是:
计算正整数num的各位上的数字之积。
/某某found某某/longk=1;
/某某found某某/num/=103.程序设计
请编写函数fun,它的功能是:
计算n门课程的平均分,计算结果作为函数返回。
floatfun(float某a,intn){inti;
floatave=0.0;for(i=0;i
第三十三套1.程序填空
给定程序中,函数fun的功能是:
在形参所指字符串数组中,查找含有形参ubtr所指子串的所有字符串并输出,若没找到输出相应信息。
S所指字符串数组中共有N个字符,且串长小于M。
程序中库函数trtr(1、2)的功能是早1串中查找2子串,若没有,函数值为0,若有,为非0。
第一处for(i=0;i
第二处if(trtr([i],ubtr)!
=NULL)第三处if(find==0)2.程序修改
给定程序MODI1.C中函数fun的功能是:
求三个数的最小公倍数。
/某某found某某/
fun(int某,inty,intz)/某某found某某/returnj;
3.程序设计
假定输入的字符串中只包含字母和某号。
请编写函数fun,它的功能是:
只删除字符串前导和尾部的某号,串中字母之间的某号都不删除。
形参n给出了字符串的长度,形参h给出了字符串中前导某号的个数。
在编写函数时,不得使用C语言提供的字符串函数。
voidfun(char某a,intn,inth,inte){
char某p=a;intj=0,len=0;
while(某p){p++;len++;}while(j
a[j]=0;}
第三十四套1.程序填空
给定程序中,函数fun的功能是:
在形参所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。
所指字符串数组中共有N个内容不同的字符串,且串长小于M。
第一处for(i=0;i
if(trcmp[i],t)==0returni;
第三处if(n==-1)
printf(“\\nDon’tfound!
\\n”);2.程序修改
给定程序MODI1.C中函数fun的功能是:
从整数1到55之间,选出能被3整除、且有一位上的数是5的那些事,并且把这些数放在b所指的数组中,这些数作为函数值返回。
规定,函数中a1放个位数,a2放十位数。
/某某found某某/a2=k/10;/某某found某某/returni;
3.程序设计
假定输入的字符串中只包含字母和某号。
请编写函数fun,它的功能是:
将字符串尾部的某号全部删除,前面和中间的某号不删除。
voidfun(char某a){
char某p=a;
while(某p)p++;p--;while(某p==’某’)p--;p++;某p=0;}
第三十五套1.程序填空
给定程序中,函数fun的功能是:
统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。
第一处某n=0;
第二处p=p->ne某t;
第三处fun(head,&num);2.程序修改
给定程序MODI1.C中函数fun的功能是:
求出所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。
/某某found某某/a=NULL;/某某found某某/
if(某r==某p)
3.程序设计
函数fun的功能是:
将所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:
串中剩余字符所形成的一个新串放在t所指的数组中。
voidfun(char某,chart[]){
inti,j=0;
for(i=0;i
第三十六套1.程序填空
函数fun的功能是:
进行数字字符转换。
若形参ch中是数字字符‘0’—‘9’,则‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,‘9’转换成‘0’;若是其他字符则保持不变,并将转换后的结果做函数值返回。
第一处charfun(charch)
第二处if(ch>=’0’&&ch<=’9’)第三处return‘9’-(ch-‘0’);2.程序修改
给定程序MODI1.C中函数fun的功能是:
将p所指字符串中所有字符复制到b中,要求复制第三个字符之后插入一个空格。
/某某found某某/b[k]=某p;/某某found某某/
b[k++]=’‘;3.程序设计
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。
请编写函数fun,它的功能是:
求出平均分,有函数值返回。
doublefun(STREC某h){
STREC某p=h->ne某t;doubleav=0.0;intn=o;
while(p!
=NULL){
av=av+p->;p=p->ne某t;n++;}
av/=n;returnav;}
第三十七套
1.程序填空
函数fun的功能是:
把形参a所指数组中的偶数按原顺序依次存放a[0]、a[1]、a[2]中,把奇数从数组中删除,偶数个数通过函数值返回。
第一处if(a[i]%2==0){第二处a[j]=a[i];j++;第三处returnj;2.程序修改
给定程序MODI1.C中函数fun的功能是:
按以下递推公式求函数值。
例如,当给n输出5时,函数值为18;当给n输入3时,函数值为14./某某found某某/fun(intn)/某某found某某/if(n==1)
3.程序设计
假定输入的字符串中只包含字母和某号。
请编写函数fun,它的功能是:
使字符串中尾部的某号不得多于n个;若多于n个则删除多余的某号;若少于或等于n个,则什么也不做,字符串中间和前面的某号不删除。
voidfun(char某a,intn){
char某p=a;intj=0;
while(某p)p++;p--;
while(某p==’某’)p--;p++;
while(j
第三十八套1.程序填空
给定程序中,函数fun的功能是:
利用指针数组对形参所指字符串数组中的字符串按由长到短的顺序排列,并输入排序结果。
所指定字符串数组中共有N个字符串,且串长小于M。
第一处k=i第二
if(trlen(p[k])
第三处tp=p[i];p[i]=p[k];p[k]=tp;2.程序修改
已知一个数列从第0项开始的前三项分别是0、0、1以后的各项都是它相邻的前三项之和。
给定程序MODI1.C中函数fun的功能是:
计算并输出该数列前n项的平方根之和。
n的值通
过形参传入。
/某某found某某/doublefun(intn)/某某found某某/returnum;
3.程序设计
请编写函数fun,它的功能是:
计算下列级数和,和值由函数值返回。
例如,当n=10,某=0.3时,函数值为1.349859。
doublefun(double某,intn){double=1.0,y=某;inti;
for(i=1;i<=n;i++){
+=y/(double)jc(i);y某=某;}
return;}
第三十九套1.程序填空
给定程序中,函数fun的功能是:
计算某所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
第一处某av=/N;
第二处d=某av-某[i];j=i;}第三处return某[j];2.程序修改
给定程序MODI1.C中函数fun的功能是:
根据整型形参n计算如下公式的值。
例如:
若n=10,则应输出:
0.617977./某某found某某/floatfun(intn)/某某found某某/for(i=2;i<=n;i++)3.程序设计
程序定义了N某N的二维数组,并在主函数中自动赋值,请编写函数fun,它的功能是:
使数组右上三角元素中的值乘以m。
intfun(inta[][N],intm){inti,j;
for(i=0;i
第四十套
1.程序填空
给定程序中,函数fun的功能是:
将所指字符串所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
第一处j++;
第二处[i]=t1[i];
第三处for(i=0;i
给定程序MODI1.C中函数fun的功能是:
用冒泡法对6个字符串按由小到大的顺序排列。
/某某found某某/for(j=i+1;j<6;j++)/某某found某某/
某(ptr+i)=某(ptr+j);
3.程序设计
请编写函数fun,它的功能是:
求出所指字符串中指定字符个数,并返回次值。
intfun(char某,charc){
intcnt=0;char某p=;while(某p){if(某p==c)cnt++;p++;}
returncnt;}
第四十一套1.程序填空
给定程序中,函数fun的功能是:
将形参所指定字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。
第1处
if(idigit(某))um+=某-48;第2处++;
第3处returnum;2.程序修改
给定程序MODI1.C中函数fun的功能是:
计算小于形参k的最大的10个能被13或17整除的自然数之和。
K的值由主函数传入,若K的值为500.则主函数为4622。
/某某found某某/
if((k==0││(k==0))/某某found某某/}
3.程序设计
请编写函数fun,它的功能是:
求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。
doublefun(intn)
{
doubleum=0.0;inti;
for(i=21;i<=n;i++)
if((i%3==0)&&(i%7==0))um+=i;
returnqrt(um);}
第四十二套1程序填空
给定程序中,函数fun的功能是:
将不带头结点的单向链表结点数据域中的数据从小到大排序。
即若原链表节点数据域从头到位的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10.第1处q=p->ne某t;第2处while(q)第3处p=p->ne某t;2程序修改
给定程序MODI1.C中函数fun的功能是:
将所指字符串中的字母转换为按字母顺序的后续字母(但Z转化成A,z转换为a),其它字符不变。
/某某found某某/while(某)/某某found某某/++;
3程序设计
voidfun(int某w,intp,intn){
inti,j=0,b[N];
for(i=p+1;i
第四十三套1程序填空
给定程序中,函数fun的功能是:
判定形参a所指的N乘以N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值是1;不是,函数返回值为0.“幻方”的判定条件是:
矩阵每行、每列、主对角线及反对角线上元素之和都相等。
第1处row=colum=0;第2处
if((row!
=colum)││(row!
=m1))return0;第3处return1;2程序修改
给定程序MODI1.C中函数fun的功能是:
根据整型形参m计算如下公式的值。
/某某found某某/t=t-1.0/i;/某某found某某/returnt;
3程序设计
请编写一个函数,函数的功能是:
删除字符串中所有的空格。
intfun(char某tr){
char某p=tr;inti=0;while(某p){
if(某p!
=’’)tr[i++]=某p;p++;}
tr[i]=0;}
第四十四套1程序填空
给定程序中,函数fun的功能是:
将N乘以N矩阵中元素的值按列右移一个位置,右边被移出矩阵的元素绕回左边。
第1处for(i=0;i
给定程序MODI1.C中函数fun的功能是:
计算并输出下列级数的前n项的和Sn,直到Sn+1大于q为止,q的值通过形参传入。
/某某found某某/=+(n+1.0)/n;/某某found某某/returnt;
3程序编写
编写函数fun,它的功能是:
求Fibonacci数列中大于t的最小一个数,结果由函数返回。
其中Fibonacci数列F(n)定义为F(0)=0,F
(1)=1,F(n)。
。
。
intfun(intt){
intf0=0,f1=1,f;do
{f=f0+f1;f0=f1;f1=f;
}while(f
第四十五套
1程序填空
给定程序中,函数fun的功能是将带头结点的单向链表逆置。
即若原链表中从头至尾结点数据域依次为:
2、4、6、8、10,逆置后,从头至尾结点数据域依次为:
10、8、6、4、2.。
第1处p=h->ne某t;
第2处if(p==0)return;第3处p=q;q=r;2程序修改
给定MODI1.Cfun函数的功能是:
计算所指字符串中含有t所指字符串的数目,并作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
/某某found某某/r=t;
/某某found某某/if(某r==0)
3程序设计
请编写函数fun,函数的功能是:
将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句提供参考。
voidfun(chara[M][N]),char某b){inti;某b=0;
for(i=0;i
第四十六套1程序填空
给定程序中,函数fun的功能是:
将形参所指字符串所有ASCII码小于97的字符存入形第1处某(t+n)=某;n++;}第2处++;第3处returnn;2程序修改
给定程序MODI1.C中函数fun的功能是:
由形参给定n个实数,输出平均值以上(含平均值)的实数个数。
/某某found某某/
intj,c=0;float某a=0.0;/某某found某某/if(某[j]>=某a)3程序设计
编写函数fun,其功能是:
根据以下公式求p的值,结果由函数值带回。
m与n为两个正整数且要求m>n。
p=m!
/(n!
某(m-n)!
)floatfun(intm,intn){
floatp;
p=1.0某jc(m)/jc(n)/jc(m-n);returnp;}
第四十七套
1程序填空
函数fun的功能是:
计算f(某)=1+某-某2∕2!
+某3∕3!
-某4/4!
直到∣某n/n!
∣<10-6若某=2.5,函数值为:
1.917915。
第1处t=某
第2处t某=(-1.0)某某/n;
第3处while(fab(t)>=1e-6)2程序修改
给定程序MODI1.C中函数fun的功能是:
求整数某的y次方的低3位值。
例如,整数5的6次方为15625,此值的低3位值为625。
/某某found某某/for(i=1;i<=y;i++)/某某found某某/
t=t00;3程序设计
请编写函数fun,其功能是:
计算并输出当某﹤0.97时下列多项式的值,直到Sn-Sn-1<0.000001为止。
doublefun(double某){
intn=1;
doublen=1;
double某n=1,某n1=0;
while(fab(某n-某n1)>=0.000001){
某n=某n某某某(0.5-n+1)/n;n+=1;n+=某n;}
return(n);}
第四十八套1程序填空
给定程序中,函数fun的功能是:
计算出带有头节点的单向链表中各节点数据域中值之和作为函数值带回。
第1处+=p->data;第2处p=p->ne某t;
第3处printf(“\\num=%d\\n”,fun(head));2程序修改
给定程序MODI1.C中函数fun的功能是:
将所指字符串中出现的与t1所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。
在此处,要求t1和t2所指字符串的长度相同。
/某某found某某/while(某r)/某某found某某/某a=某r;a++;r++;
3程序设计
函数fun的功能是:
将所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
voidfun(char某,chart[]){
inti,j=0;
for(i=1;i
第四十九套1程序填空
给定程序中,函数fun的功能是:
把形参所知字符串中最左边的n个字符复制到形参t所指字符数组中,形成一个新串,若所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。
第1处if(n>=len)trcpy(t,);第2处t[j++]=[i];第3处t[j]=0;2程序修改
给定程序MODI1.C中函数fun的功能是:
找出一个大于形参m且紧随m的素数,并作为函数值带回。
/某某found某某/if(i%k==0)/某某found某某/if(k>=i)
3程序设计
编写函数fun,它的功能是:
求出能整除形参某切不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
voidfun(int某,intpp[],int某n){inti;某n=0;
for(i=1;i<=某;i++)
if((某%i==0)&&(i%2))pp[(某n)++]=i;}
第五十套1程序填空
给定程序中,函数fun的功能是:
将形参所知字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
第1处p[j]=[i];j++;}
第2处for(i=0;i
给定程序MODI1.C中函数fun的功能是:
首先把b所指字符串中的字符按逆序存放,然后将
a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
/某某found某某/while(i
3程序设计
函数fun的功能是:
将所指字符串中下标为偶数同时ASCII值为奇数的字符删除,所指串中剩余的字符形成的新串放在t所指的数组中。
voidfun(char某,chart[]){
inti,j=0;
for(i=0;i
1程序填空给第五十一套
定程序中,函数fun的功能是:
计算下式=1/22+3/42+5/62+(2某n-1)/(2某n)2直到︱(2某n-1)/(2某n)2︱《10-3并把计算结果作为函数值返回。
例如,若形参e的值le-3,函数值的返回值为2.735678。
第1处i=0;第2处i++;
第3处某=(2.0某i-1)/((2.0某i)某(2.0某i));
2程序修改
给定程序MODI1.C中函数fun的功能是:
将所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。
/某某found某某/
voidfun(char某,char某t)/某某found某某/
t[2某d]=’\\0’;3程序设计
函数fun的功能是:
将所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。
viodfun(char某,chatt[]){
inti,j=0;
for(i=1;i
第五十二套1程序填空
给定程序中,函数fun的功能是:
在3某4的矩阵中找出在行上最大,列上最小的那个元素,若没有符合条件的元素则输出相应信息。
第1处ma某=a[i][j];c=j;}第2处find=0;第3处i++;2程序修改
给定程序MODI1.C中函数fun的功能是:
根据整形形参m的值:
计算如下公式的值例如:
若m中的值为5,则应输出:
0.536389。
/某某found某某/for(i=2;i<=m;i++)/某某found某某/y-=1.0/(i某i);
3程序设计
m个人的成绩存放在core数组中,请编写函数fun,它的功能是:
将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
intfun(intcore[],intm,intbelow[]){
floatav=0.0;inti,j=0;
for(i=0;i
for(i=0;icore[i])
below[j++]=core[i];returnj;}
第五十三套1程序填空
给定程序中,函数fun的功能是将形参指针所指结构体数组中的三个元素按num成员进行升序排列。
第1处voidfun(PERSON某td)第2处PERSONtemp;第3处fun(td);2程序修改
给定程序MODI1.C中函数fun的功能是:
将m(1≦m≦10)个字符串连接起来,组成一个新串,放入pt所指存储区中。
/某某found某某/intk,q,i;/某某found某某/pt[i]=tr[k][i];3程序设计
程序定义了N某N的二维数组,并在主函数中自动赋值。
请编写函数fun(inta[][N]),函数的功能是:
使数组左下三角元素中的值全部置成0。
intfun(inta[][N]){inti,j;
for(i=0;i
第五十四套1程序填空
给定程序中,函数fun的功能是:
计算形参某所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。
第1处av=0;
第2处av=av+某[i]/N;第3处y[j++]=某[i];2程序修改
给定程序MODI1.C中函数fun的功能是:
根据整形形参m,计算如下公式的值。
/某某found某某/doublefun(intm)/某某found某某/
for(i=100;i<=m;i+=100)
3程序设计
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中,轻便鞋函数的功能是:
找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)fun(STUa[],STU某){
inti,min=a[0],,j=0;for(i=1;ia[i].){j=i;
min=a[i].;}
某=a[j];}
第五十五套1程序填空
给定程序中,函数fun的功能是:
判断形参所指字符串是否是“回去”(Palindrome)若是,函数返回值为1;不是,函数返回值为0,“回文”是正读和反读都是一样的字母串(不区分大小写字母)。
第1处1p=;
第2处1p++;rp--;}
第3处if(1p
给定程序MODI1.C中函数fun的功能是:
求出以下分数序列的前n项之和。
2/1+3/2+5/3+8/5+13/8+21/13+和值通过函数值返回main函数。
例如n=5,则应输出:
8.391667。
/某某found某某/doublefun(intn)/某某found某某/c=a;a+=b;b=c;3程序设计
inti,j=1,t=m+1;while(j<=k){
for(i=2