二级C语言机试答案Word文档格式.docx
- 文档编号:22288107
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:28
- 大小:28.18KB
二级C语言机试答案Word文档格式.docx
《二级C语言机试答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《二级C语言机试答案Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
a[i]=a[j];
a[j]=tmp;
}
四、
找出100至x(x<
999)之间各位上的数字之和为15的所有整数,然后输出;
例如,当n值为500时,各位数字之和为15的整数有:
159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。
共有26个。
(1)0
(2)x(3)t++
(1)inti,s1;
(2)t[i]=s[s1-1-i];
*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;
五、
给定程序中,函数fun的功能是计算下式s=1/(2*2)+3/(4*4)+5/(6*6)+…+(2n-1)/(2n*2n)直到|(2n-1)/(2n*2n)|<
=1e-3,函数的返回值2.985678。
(1)0
(2)i++(3)2.0*i
(1)voidfun(char*s,char*t)
(2)t[2*d]=’\0’;
inti,j=0;
for(i=1;
strlen(s);
i+=2)
if(i%2==1&
&
s[i]%2==1)
t[j++]=s[i];
t[j]=’\0’;
最后在黑色对话框中输入ABCDEFG123456后按回车键
六、
函数fun的功能是:
统计长整数的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:
c1=3c2=1c3=2。
(1)n%10
(2)break(3)break
(1)if(t==0)
(2)*zero=count;
doubles=0,t=1;
inti;
{t*=i;
s+=1.0/t;
returns;
最后在黑色对话框中输入50后按回车键
七、
统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。
(1)*n
(2)next(3)head
(1)a=NULL;
(2)if(*r==*p)
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
八、
给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时,程序输出x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000
(1)double
(2)f1(3)f2
(1)char*fun(char*s,char*t)
(2)ss++;
(3)tt++;
m;
i++)
fun1(w);
最后在黑色对话框中输入3后按回车键
九、
从三个形参a,b,c中找出中间的那个数,作为函数值返回。
例如,当a=3,b=5,c=4时,中数为4。
(1)a
(2)a(3)b
(1)c=c+32;
(把大写C改成小写)
(2)c=c+5;
doublefac=1.0;
doublesum=1.0;
for(i=2;
{fac+=sqrt(i);
sum+=fac;
最后在黑色对话框中输入20后按回车键
十、
给定程序中,函数fun的功能是,将形参s所指字符串中的字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如:
s所指字符串为:
asd123fgh543df,处理后新字符串为asdfghdf123543。
(1)s[i]
(2)k(3)0
(1)while(*w)
(2)if(*r==*p)
if(!
(s[i]%2))t[j++]=s[i];
t[j]=’\0’;
最后在黑色对话框中输入ABCDEFG12345后按回车键
十一、
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。
删除链表中数据域值相同的结点,使之只保留一个。
(1)q
(2)next(3)next
(1);
(少了分号)
(2){p=j;
t=a[p];
a[p]=a[i];
a[i]=t;
}
*n=0;
for(i=7;
=m;
if((i%7==0)||(i%11==0))
a[(*n)++]=i;
十二、
将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
(1)*std
(2)std[i].age(3)max.name
(1)voidfun(int*a,int*b)
(2)t=*b;
*b=*a;
*a=t;
inti,j,min,k;
N;
{min=tt[0][i];
k=0;
for(j=1;
j<
M;
j++)
if(tt[j][i]<
min)
{min=tt[j][i];
k=j;
pp[i]=tt[k][i];
十三、
给定程序中,函数fun的功能是:
求出形参ss所指字符串数组中最长的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。
字符串数组中共有M个字符串,且串长<
N。
(1)k
(2)len(3)ss[i][j]
(1)result*=n--;
(2)returnresult;
(把横线改成result)
char*p=s;
inti=0;
while(*p)
{if(*p!
=c)s[i++]=*p;
p++;
s[i]=’\0’;
最后在黑色对话框中输入n后按回车键
十四、
求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。
ss所指字符串数组中共有M个字符串,且串长<
(1)ss[i]
(2)j+n(3)1
(1)if(*p==‘’)
(2);
(后面缺少分号)
charch;
inti,j;
6;
for(j=i+1;
{if(*(s+i)<
*(s+j))
{ch=*(s+j);
*(s+j)=*(s+i);
*(s+i)=ch;
最后在黑色对话框中输入CEAedca后按回车键
十五、
计算f(x)=1+x+x2∕2!
+…+xn/n!
直到∣xn/n!
∣<
10-6若x=2.5,函数值为:
12.182494。
(1)x
(2)n(3)t
(1)d=1;
s=0;
(2)d=d/10;
(是除号)
doubles=0;
8;
i++)s+=sqrt((x[i]+x[i+1])/2);
十六、
在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:
1572387582145
按升序排列时的中间数为:
8
处理后主函数中输出的数列为:
8882387882145
(1)b[k]
(2)N/2(3)<
(1)intt[N],i,num=0;
(2)t[num++]=b[i];
(3)for(i=0;
num;
intfun(char*s)
{intn=0;
while(*s)
{if(*s>
=’0’&
*s<
=’9’)s++;
returnn;
十七、
统计整型变量m中各数字出现的次数,并存放到数组a中,其中:
a[0]存放0出现的次数,a[1]存放1出现的次数,……a[9]存放9出现的次数。
例如,若m为14579233,则输出结果应为:
0,1,1,2,1,1,0,1,0,1。
(1)a[i]
(2)m%10(3)m/10
(1)b[i]=a[i][0];
(2)for(j=1;
=N-1;
j++)(3)if(b[i]>
a[i][j])
doublesum=0,max,min;
inti;
max=min=a[0];
n;
{sum=sum+a[i];
if(max<
a[i])max=a[i];
if(min>
a[i])min=a[i];
sum=sum-max-min;
return(sum/(n-2));
最后在黑色对话框中输入9.98.57.68.59.39.58.97.88.68.4后按回车键(每个小数之间只有一个空格)
十八、
给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
(1)FILE*
(2)fp(3)ch
(1)s[j++]=s[i];
(2)s[j]=’\0’;
(双引号改成引号)
这道题是在/*请填写相应语句完成其功能*/下面的大括号中填入答案)
for(j=0;
{b[n]=s[j][i];
n=i*M+j+1;
十九
1.程序填空题
计算
f(x)=1+x+x/2!
+·
·
+xn/n!
的前n项。
若x=2.5,函数值为:
12.182340.
(1)1
(2)1(3)i
(1)k=i;
(2)c=k%10;
(后面少了分号)
inti;
doubleavg=0.0,sum=0.0,abs=0.0,fc;
10;
i++)sum+=x[i];
avg=sum/10;
abs+=(x[i]-avg)*(x[i]-avg);
fc=sqrt(abc/10);
ruturnfc;
二十
给定程序中,函数fun的功能是:
对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。
Ss所指字符串数组中共有M个字符串,且串长<
(1)i+1
(2)k=j(3)t
(1)voidfun(char*str,charch)
(2)if(*str!
=ch)(是不等号)
(3)str[1]=’\0’;
(少了一个反斜杠)
charb[N]={0};
inti=0,j;
for(j=strlen(s)-1;
j>
=0;
j--)b[i++]=s[j];
strcpy(s,b);
最后在黑色对话框中输入abcdefg后按回车键
二十一
给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号姓名和3门课的成绩。
函数fun的功能是将该学生的各科成绩都乘以一个系数a。
(1)STU
(2)score[i](3)&
std
(
(1)if(k>
0)
(2)elseif(k==0)
intI,j;
a[i][j]*=n;
二十二
程序通过定义学生结构体变量,存储了学生的学号姓名和3门课的成绩,所有学生数据均以二进制输出到文件中。
函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
(1)‘’rb’’
(2)>
(3)fwrite
(1)p=s;
(顺序反了)
(2)while(*p++);
(缺少分号)
b[j]=0;
if(a[i]>
=0&
[i]<
=9)b[0]+=1;
else
=10&
a[i]<
=19)
b[1]+=1;
elseif(a[i]>
=20&
=29)
b[2]+=1;
=30&
=39)
b[3]+=1;
=40&
=49)
b[4]+=1;
=50&
=59)
b[5]+=1;
=60&
=69)
b[6]+=1;
=70&
=79)
b[8]+=1;
=90&
=99)
b[9]+=1;
b[10]+=1;
二十三
甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,丙每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。
函数fun的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。
注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第0秒。
例如,若t1=7,t2=5,t3=6,t4=4,n=10,则总共可听到28次鞭炮声。
(1)i
(2)t++(3)count
(1)intfun(inta,intb,intc)
(2)elsereturn1;
这题不仅缺少分号,中间的单词也错了,应该是return)
doubles=0.0;
for(i=3;
{for(j=2;
=i;
if(i%j==0)break;
if(j==i)s=s+sqrt(i);
最后在黑色对话框中输入100按回车键
二十四
计算出带有头结点的单向链表中个结点数据域中值之和作为函数值返回。
(1)data
(2)next(3)head
(1)while(*r)
(2)*a=*r;
a++;
r++;
(缺少分号)
t[j]=0;
最后在黑色对话框中输入ABCDEFGHIJK后按回车键
二十五
求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。
Ss所指字符串数组中共有M份字符串,且串长<
N.
(1)[N]
(2)len(3)*n=len
(
(1)t+=1.0/i);
(2)returnt;
intcnt=0;
char*p=str,*q;
{q=strstr(p,substr);
if(q==NULL)break;
p=q+srelen(substr);
cnt++;
ruturncnt;
最后在黑色对话框中输入asdasasdfgasdaszx67asdmklo后按回车键,再输入as后按回车键
二十六
给定程序的主函数中,已给出由结构体构成的链表结点abc,(字母中间有顿号),各结点的数据域中均存入字符,函数fun()的作用是:
将abc三个结点链接成一个单向链表,并输出链表结点中的数据
(1)pb
(2)p->
data或(*p).data(3)p->
next
(1)inti,one=0,zero=0;
(2)switch(s[i])(多了分号)
(3)case0=:
zero++;
break;
while(*s)
{*a=*s;
s++;
*a=’/0’;
二十七
人员的记录由编号和出生年月日(加顿号)组成,N名人员的数据已在主函数中存入结构数组std中。
找出指定年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
(1)std[i].year
(2)std[i](3)n
(1)IsPrime(intn)(去掉后面的分号)
(2)if(!
(n%i))
inti,max=a[0].s,j=0;
if(a[i].s>
max)
{j=I;
max=a[i].s;
*s=a[j];
二十八
输出a所指数组中的前n个个数据,要求每行输出5个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果
(1)i%5==0
(2)\n(3)a[i]
(1)returnt;
(2)for(i=0;
i++)t[i]=x[i];
(3)x[i+1]=findmid(a,b,c);
inti,j;
j=-1;
{if(*s==x)
j=I;
最后在对话框中输入27后按回车键
二十九
给定程序的功能是:
调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。
在复制过程中,把复制的内容输出到终端屏幕。
主函数中源文件sfname中,目标文件名放在变量tfname中。
(1)’’r’’
(2)fs(3)ft
(1)if(d%2==0)
(2)s/=10;
inti,j=0;
if(s[i]%2==0)t[i++]=s[i];
最后在黑色对话框输入ABCDRFG123456后按回车键
三十
给定程序中,函数fun的功能是:
计算下式前n项的和作为函数值返回。
s=(1*3)/(2*2)+(3*5)/(4*4)+(5*7)/(6*6)+…+(2n-1)(2n+1)/(2n*2n)
当形参n的值为10时,函数返回9.612558.
(1)0
(2)n(3)(t*t)
(1)for(i=0;
str[i];
(2)if(substr[k+1]==’\0’)
doubles;
floatn,t,pi;
t=1;
pi=0;
n=1.0;
s=1.0;
while((fabs(s))>
=eps)
{pi+=s;
t=n/(2*n+1);
*s=t;
n++;
pi=pi*2;
returnpi;
最后在黑色对话框中输入0.0005后按回车键
三十一
请补充fun函数,该函数的功能是:
统计所有小于等于n(n>
2)的素数的个数,素数的个数作为函数值返回。
(1)j=3
(2)i(3)j
(1)sum=0;
j=0;
(2)if(sum%4==2)
doublesum=0.0;
if(n>
1&
n<
=100){
sum+=1.0(2*i-1)-1.0/(2*i);
returnsum;
最后在黑色对话框中输入8后按回车键
三十二
人员的记录由编号和出生年月日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号惟一。
找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。
(1)STU
(2)std[i].num(3)std[i]
(1)r++;
p++;
(2)if(*r==’\0’)
if(s[i]%2)
最后在黑色对话框输入ABCDRFG12345后按回车键
三十三
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)