2级C语言机考改错题试题描述Word格式文档下载.docx
- 文档编号:19651490
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:129
- 大小:52.57KB
2级C语言机考改错题试题描述Word格式文档下载.docx
《2级C语言机考改错题试题描述Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《2级C语言机考改错题试题描述Word格式文档下载.docx(129页珍藏版)》请在冰豆网上搜索。
k);
\n\nTheprimefactor(s)of%dis(are):
k);
for(j=2;
j<
k;
j++)
if((!
(k%j))&
&
(IsPrime(j)))
printf("
%4d,"
j);
\n"
主要算法:
涉及知识点:
试题难度:
★
2.下列给定程序中,函数fun的功能是:
逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。
例如,若a中的字符串为:
aBCDeFgH,b中的字符串为:
ABcd,则C中的字符串应为:
aBcdeFgH。
请改正程序中的错误,使它能得出正确结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include<
stdio.h>
string.h>
voidfun(char*p,char*q,char*c)
{
intk=1;
while(*p!
=*q)
{
if(*p<
*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
k++;
}
chara[10]="
aBCDeFgH"
b[10]="
ABcd"
c[80]={'
\0'
};
fun(a,b,c);
Thestringa:
puts(a);
Thestringb:
puts(b);
Theresult:
puts(c);
★★★
3.下列给定程序中,函数fun的功能是:
依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
请改正函数fun中的错误,使它能得出正确的结果。
conio.h>
voidfun(char*s)
inti,j;
for(i=0,j=0;
s[i]!
='
;
if(s[i]>
0'
&
s[i]<
9'
)
s[j]=s[i];
s[j]="
\0"
charitem[80];
\nEnterastring:
gets(item);
\n\nThestringis:
\%s\n"
item);
fun(item);
\n\nThestringofchangingis:
_
4.下列给定程序中,fun函数的功能是:
分别统计字符串中大写字母和小写字母的个数。
例如,给字符串S输入:
AaaaBBb123CCccccd,则应输出结果:
upper=5,lower=9。
请改正程序中的错误,使它能计算出正确的结果。
注意:
voidfun(char*s,inta,intb)
while(*s)
if(*s>
A'
*s<
Z'
a++;
if(*s>
a'
z'
b++;
s++;
chars[100];
intupper=0,lower=0;
\nPleaseastring:
"
gets(s);
fun(s,&
upper,&
lower);
\nupper=%dlower=%d\n"
upper,lower);
★★
5.假定整数数列中的数不重复,并存放在数组中。
下列给定程序中,函数fun的功能是:
删除数列中值为X的元素,同时将其它元素前移。
n中存放的是数列中元素的个数。
#defineN20
fun(int*a,intn,intx)
intp=0,i;
a[n]=x;
while(x!
=a[p])
p=p+1;
if(p==n)
return-1;
else
for(i=p;
a[i+1]=a[i];
returnn-1;
intw[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i;
n=10;
Theoriginaldata:
for(i=0;
i++)printf("
%5d"
w[i]);
\nInputx(todelete):
x);
Delete:
%d\n"
x);
n=fun(w,n,x);
if(n==-1)
***Notbefound!
***\n\n"
Thedataafterdelete:
\n\n"
6.下列给定程序中,函数fun的功能是:
根据整型形参m的值,计算如下公式的值。
111
T=1-―---…-
2x23x3mxm
例如,若m中的值为5,则应输出:
0.536389。
请改正程序中的错误,使它能得出正确的结果。
doublefun(intm)
doubley=1.0;
inti;
m;
y-=1/(i*i);
return(y);
intn=5;
\nTheresultis%1f\n"
fun(n));
7.下列给定程序中函数fun的功能是:
用选择法对数组中的n个元素按从小到大的顺序进行排序。
请修改程序中的错误,使它能计算出正确的结果。
不要改动main函数,不得增行和删行,也不得更改程序的结构!
voidfun(inta[],intn)
inti,j,t,p;
for(j=0;
n-1;
p=j
for(i=j;
if(a[i]<
a[p])
p=i;
t=a[p];
a[p]=a[i];
a[i]=t;
inta[N]={9,6,8,3,-1},i,m=5;
dfrgddfgd:
i++)
a[i]);
fun(a,m);
gfdghfg:
8.下列给定程序中,函数fun的功能是:
在字符串str中找出ASCII码值最大的字符,
将其放在第一个位置上;
并将该字符前的原字符向后顺序移动。
例如,调用fun函数之前给字符串输入:
ABCDeFGH,调用后字符串中的内容为:
eABCDFGH。
fun(char*p)
charmax,*q;
inti=0;
max=p[i];
while(p[i]!
=0)
if(max<
p[i])
max=p[i];
p=q+i;
i++;
while(q>
p)
*q=*(q-1);
q--;
p[0]=max;
charstr[80];
Enterastring:
gets(str);
\nTheoriginalstring:
puts(str);
fun(str);
\nThestringaftermoving:
9.下列给定程序中,函数fun的功能是:
从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。
例如,若输入8名学生的成绩:
80.5607290.59851.58864
则低于平均分的学生人数为4(平均分为:
75.5625)。
请改正程序中的错误,使它能统计出正确的结果。
intfun(float*s,intn,float*aver)
floatave,t=0.0;
intcount=0,k,i;
for(k=0;
k<
k++)
t=s[k];
ave=t/n;
if(s[i]<
ave)
count++;
*aver=&
ave;
returncount;
floats[30],aver;
intm,i;
\nPleaseenterm:
&
m);
\nPleaseenter%dmark:
\n"
m);
%f"
s+i);
\nThenumberofstudents:
%d\n"
fun(s,m,&
aver));
Ave=%f\n"
aver);
10.下列给定程序中,函数fun的功能是:
将s所指字符串中出现的t1所指子串全部替换成t2所指子字符串,所形成的新串放在w所指的数组中。
在此处,要求t1和t2所指字符串的长度相同。
例如,当s指字符串中的内容为abcdabfab,t1指子串中的内容为ab,t2所指子串中的内容为99时,结果,在w所指的数组中的内容应为99cd99f99。
intfun(char*s,char*t1,char*t2,char*w)
char*p,*r,*a;
strcpy(w,s);
while(*w)
p=w;
r=t1;
while(r)
if(*r==*p)
r++;
p++;
else
break;
if(*r=='
a=w;
r=t2;
while(*r)
*a=*r;
w+=strlen(t2);
w++;
chars[100],t1[100],t2[100],w[100];
\nPleaseenterstrings:
%s"
s);
\nPleaseentersubstringt1:
t1);
\nPleaseentersubstringt2:
t2);
if(strlen(t1)==strlen(t2)){
fun(s,t1,t2,w);
\nTheresultis:
%s\n"
w);
Error:
strlen(t1)!
=strlen(t2)\n"
★★★★
11.下列给定程序中,函数fun的功能是:
将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。
规定输入的字符串最多只能包含5位8进制数字。
例如,若输入77777,则输出将是32767。
intfun(char*p)
intn;
n=*p-'
o'
p++;
while(*p!
n=n*7+*p-'
returnn;
chars[6];
Enterastring(0cataldigits):
if(strlen(s)>
5)
Error:
stringtoolonger!
exit(0);
s[i];
'
||s[i]>
7'
%cnotisocataldigits!
s[i]);
Theoriginalstring:
puts(s);
n=fun(s);
\n%sisconveredtointegenumber:
%d\n\n"
s,n);
12.下列给定程序中函数fun的功能是:
求出在字符串中最后一次出现的子字符串的地
址,通过函数值返回,在主函数中输出从此地址开始的字符串;
若未找到,则函数值为NULL。
例如,当字符串中的内容为abcdabfabcdx,t中的内容为ab时,输出结果应是:
abcdx。
当字符串中的内容为abcdabfabcdx,t中的内容为abd时,则程序输出未找到信息:
notbefound!
。
char*fun(char*s,char*t)
char*p,*r,*a;
a=NuLL;
p=s;
r=t;
if(r==p)
)
a=s;
returna;
chars[100],t[100],*p;
\npleaseenterstrings:
\npleaseentersubstringt:
t);
p=fun(s,t);
if(p)
\ntheresultis:
p);
\nnotfound!
13.下列给定程序中,fun函数的功能是:
根据形参m,计算如下公式的值。
1111
t=1+-+-+-…+-
234m
例如,若输入5,则应输出2.283333。
请改正程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。
#include<
doublet=1.0;
=m;
t+=1.0/k;
___填空____
intm;
\npleaseenter1integernumbers:
\n\ntheresultis%lf\n"
fun(m));
14.下列给定程序中,函数fun和funx的功能是:
用二分法求方程2x3-4x2+3x-6=0的根,并要求绝对误差不超过0.001。
例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。
math.h"
doublefunx(d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 改错 试题 描述
![提示](https://static.bdocx.com/images/bang_tan.gif)