全国计算机等级考试二级C语言上机题库3040套.docx
《全国计算机等级考试二级C语言上机题库3040套.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机题库3040套.docx(9页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级C语言上机题库3040套
3月全国计算机等级考试二级C语言上机题库(30~40套)
第三十一套
1.程序填空
给定程序中,函数fun的功能是:
在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。
Ss所指字符串数组中共有N个字符串,且串长小于M。
第一处for(i=0;i第二处if(len=k)
第三处strcpy(ss[j++],ss[i]);
2.程序修改
给定程序MODI1.C中函数fun的功能是:
逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值或相等的字符依次存放在c所指数组中,形成一个新的字符串。
/**found**/
intk=0;
/**found**/
while(*p||*q)
3.程序设计
假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
除了字符串前导*号之外,将串中其它*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
函数fun中给出的语句仅供参考。
voidfun(char*a)
{
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的功能是:
把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
第一处s-data=x;
第二处q=p;
第三处q-next=s;
2.程序修改
给定程序MODI1.C中函数fun的功能是:
计算正整数num的各位上的数字之积。
/**found**/
longk=1;
/**found**/
num/=10
3.程序设计
请编写函数fun,它的功能是:
计算n门课程的平均分,计算结果作为函数返回。
floatfun(float*a,intn)
{
inti;
floatave=0.0;
for(i=0;iave=ave+a[i];
ave=ave/n;
returnave;
}
第三十三套
1.程序填空
给定程序中,函数fun的功能是:
在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。
Ss所指字符串数组中共有N个字符,且串长小于M。
程序中库函数strstr(s1、s2)的功能是早s1串中查找s2子串,若没有,函数值为0,若有,为非0。
第一处for(i=0;i第二处if(strstr(ss[i],substr)!
=NULL)
第三处if(find==0)
2.程序修改
给定程序MODI1.C中函数fun的功能是:
求三个数的最小公倍数。
/**found**/
fun(intx,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(ja[j]=a[h+j];
j++;
}
a[j]=0;
}
第三十四套
1.程序填空
给定程序中,函数fun的功能是:
在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。
ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
第一处for(i=0;i第二处
if(strcmpss[i],t)==0
returni;
第三处if(n==-1)
printf(\nDontfound!
\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-next;
第三处fun(head,num);
2.程序修改
给定程序MODI1.C中函数fun的功能是:
求出s所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。
/**found**/
a=NULL;
/**found**/
if(*r==*p)
3.程序设计
函数fun的功能是:
将s所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:
串中剩余字符所形成的一个新串放在t所指的数组中。
voidfun(char*s,chart[])
{
inti,j=0;
for(i=0;iif(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
第三十六套
1.程序填空
函数fun的功能是:
进行数字字符转换。
若形参ch中是数字字符09,则0转换成9,1转换成8,2转换成7,9转换成0;若是其他字符则保持不变,并将转换后的结果做函数值返回。
第一处charfun(charch)
第二处if(ch=0ch=9)
第三处return9-(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-next;
doubleav=0.0;
intn=o;
while(p!
=NULL)
{
av=av+p-s;
p=p-next;
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(jj++;
}
*p=0;
}
第三十八套
1.程序填空
给定程序中,函数fun的功能是:
利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排列,并输入排序结果。
ss所指定字符串数组中共有N个字符串,且串长小于M。
第一处k=i
第二
if(strlen(ps[k])ps[j]))k=j;
第三处tp=ps[i];ps[i]=ps[k];ps[k]=tp;
2.程序修改
已知一个数列从第0项开始的前三项分别是0、0、1以后的各项都是它相邻的前三项之和。
给定程序MODI1.C中函数fun的功能是:
计算并输出该数列前n项的平方根之和。
n的值通过形参传入。
/**found**/
doublefun(intn)
/**found**/
returnsum;
3.程序设计
请编写函数fun,它的功能是:
计算下列级数和,和值由函数值返回。
例如,当n=10,x=0.3时,函数值为1.349859。
doublefun(doublex,intn)
{doubles=1.0,y=x;
inti;
for(i=1;i=n;i++)
{
s+=y/(double)jc(i);
y*=x;
}
returns;
}
第三十九套
1.程序填空
给定程序中,函数fun的功能是:
计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
第一处*av=s/N;
第二处d=*av-x[i];j=i;}
第三处returnx[j];
2.程序修改
给定程序MODI1.C中函数fun的功能是:
根据整型形参n计算如下公式的值。
例如:
若n=10,则应输出:
0.617977.
/**found**/
floatfun(intn)
/**found**/
for(i=2;i=n;i++)
3.程序设计
程序定义了NN的二维数组,并在主函数中自动赋值,请编写函数fun,它的功能是:
使数组右上三角元素中的值乘以m。
intfun(inta[][N],intm)
{
inti,j;
for(i=0;ifor(j=i;ja[i][j]*=m;
}
第四十套
1.程序填空
给定程序中,函数fun的功能是:
将s所指字符串所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
第一处j++;
第二处s[i]=t1[i];
第三处for(i=0;i2.程序修改
给定程序MODI1.C中函数fun的功能是:
用冒泡法对6个字符串按由小到大的顺序排列。
/**found**/
for(j=i+1;j6;j++)
/**found**/
*(pstr+i)=*(pstr+j);
3.程序设计
请编写函数fun,它的功能是:
求出ss所指字符串中指定字符个数,并返回次值。
intfun(char*ss,charc)
{
intcnt=0;
char*p=ss;
while(*p){
if(*p==c)cnt++;
p++;
}
returncnt;