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