浙江省c语言考试程序调试题Word下载.docx
《浙江省c语言考试程序调试题Word下载.docx》由会员分享,可在线阅读,更多相关《浙江省c语言考试程序调试题Word下载.docx(31页珍藏版)》请在冰点文库上搜索。
&
c<
z'
)______2______
putchar(c);
3. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
调用函数f用以求1元2次方程x*x+5*x-2=0的实根。
math.h>
intf(floata,floatb,floatc,float*x1,float*x2)
if(b*b-4*a*c<
0)return1;
*x1=(-b+sqrt(b*b-4*a*c))/2/a;
*x2=(-b-sqrt(b*b-4*a*c))/2/a;
______1______
floatu1,u2;
floata=1,b=5,c=-2;
if(________2_________)printf("
实数范围内无解\n"
);
elseprintf("
%.2f%.2f\n"
u1,u2);
4. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x,当x=1.7时的值。
floatf(float,float*,int);
floatb[5]={1.1,2.2,3.3,4.4,5.5};
printf("
%f\n"
f(1.7,b,5));
floatf(_______1________)
floaty=a[0],t=1;
inti;
for(i=1;
i<
n;
i++){t=t*x;
y=y+a[i]*t;
_____2_____
5. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
运行时输入n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。
intn,s=0;
n=fabs(n);
/********1*******/
1){
s=s+n%10;
/********2******/
n=n%10;
%d\n"
s);
6. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
分别统计字符串中所有英文字母中的各元音字母个数。
ctype.h>
chara[80];
intn[5]={0},i;
gets(a);
for(i=0;
a[i]!
\0'
;
i++)
/*****1*****/
switch(toupper(a[i]))
{
case'
a'
:
n[0]++;
break;
e'
n[1]++;
i'
n[2]++;
o'
n[3]++;
/*****2*****/
U'
n[4]++;
}
5;
i++)printf("
n[i]);
7. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321;
若程序输入-34567,则输出-76543。
longf(longn)
longm,y=0;
m=fabs(n);
while(m!
=0){
y=y*10+m%10;
____1____
if(n>
=0)returny;
else_____2_____
voidmain(){printf("
%ld\t"
f(12345));
%ld\n"
f(-34567));
8. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
输入整数n(n>
0),求m使得2的m次方小于或等于n、2的m+1次方大于或等于n。
intm=0,t=1,n;
while(_____1________);
while(!
(t<
=n&
t*2>
=n)){
_____2_____
m++;
m);
9. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
运行时若输入a、n分别为3、6,则输出下列表达式的值:
3+33+333+3333+33333+333333
#include<
inti,a,n;
longt=0;
/*********1*******/
s=0;
%d%d"
a,&
=n;
i++){
/*******2******/
t=t*10+i;
s=s+t;
s=s*a;
10. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
该程序功能:
函数f将数组循环左移k个元素,数组x[7]调用函数f后的输出结果为:
4567123
voidf(int*a,intn,intk)
inti,j,t;
k;
___1___;
for(_______2________)a[j-1]=a[j];
a[n-1]=t;
inti,x[7]={1,2,3,4,5,6,7};
f(x,7,3);
7;
%5d"
x[i]);
\n"
11. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
数列的第1、2项均为1,此后各项值均为该项前二项之和。
计算数列第30项的值。
_______1______
f(30));
longf(intn)
if(______2______)return1;
elsereturnf(n-1)+f(n-2);
12. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
输入m、n(要求输入数均大于0),输出它们的最大公约数。
intm,n,k;
while(scanf("
m,&
n),_______1______);
for(____2____;
n%k!
=0||m%k!
=0;
k--);
k);
13. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
输出6~1000之间的完数(1个数的因子和等于其自身的数:
6=1+2+3、28=1+2+4+7+14,则6、28都是完数)。
inti,j,s;
for(i=6;
=1000;
_____1_____
for(j=2;
____2_____;
j++)if(i%j==0)s+=j;
if(s==i)printf("
14. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。
intn,k=0;
while(_____1_____){
k++;
_____2_____;
15. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
输入m、n(要求输入数均大于0,且m>
=n),输出它们的最小公倍数。
/********1*********/
n),m<
0&
n<
0);
for(k=m;
k%n!
)
/********2********/
k=k+n;
16. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
调用函数f,将字符串中的所有字符逆序存放,然后输出。
例如,输入字符串为"
123456"
,则程序的输出结果为"
654321"
。
string.h>
voidmain(){chars[60],*f(char*);
gets(s);
%s\n"
f(s));
___1__f(char*x)
chart;
inti,n;
_______2______
n/2;
i++){t=x[i];
x[i]=x[n-1-i];
x[n-1-i]=t;
returnx;
17. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。
stdlib.h>
/*****1*****/
charstr;
str=(char*)malloc(n);
gets(str);
/*****2*****/
strlen(str);
i++)
if(str[i]>
str[i]<
)str[i]=str[i]-('
-'
A'
puts(str);
18. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
调用函数f,求a数组中最大值与b数组中最小值之差。
enumFLAG{positive=1,negative=-1};
floatf(float*x,intn,enumFLAGflag)
floaty;
____1____
i++)if(flag*x[i]>
flag*y)y=x[i];
returny;
floata[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1};
%.2f\n"
f(a,6,positive)-____2_____);
19. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。
#definef(x)x*x-5*x+sin(x)
intx;
floatmax;
for(x=2;
x<
=10;
x++)______2______
max);
20. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。
structaxy{floatx,y;
}a;
a=(float*)malloc(n*2*sizeof(float));
/*****2*****/
scanf("
%f%f"
a[i].x,a[i].y);
if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<
=5)
printf("
%f,%f\n"
21. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
输入1个字符串,按字母出现次序输出其中所出现过的大写英文字母。
如运行时输入字符串"
FONTNAMEandFILENAME"
,应输出"
FONTAMEIL"
charx[80],y[26];
inti,j,ny=0;
gets(x);
x[i]!
if(x[i]>
x[i]<
Z'
){
for(j=0;
j<
ny;
j++)
/*****1*****/
if(y[i]==x[j])continue;
if(j==ny){y[ny]=x[i];
ny++;
26;
%c"
y[i]);
22. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。
______1______
while(n!
______2______
n=n/10;
23. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
运行时输入10个数,然后分别输出其中的最大值、最小值。
floatx,max,min;
%f"
x);
/*******2********/
if(i=1){max=x;
min=x;
if(x>
max)max=x;
if(x<
min)min=x;
max,min);
24. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:
输入x和正数eps,计算多项式1-x+x*x/2!
-x*x*x/3!
+...的和直到末项的绝对值小于eps为止。
floatx,eps,s=1,t=1,i=1;
x,&
eps);
do{
t=-t*x/++i;
s+=t;
}while(fabs(t)>
=eps)
25. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
调用函数f,求二维数组a中全体元素之和。
floatf(_______1_______)
floaty=0;
inti,j;
m;
for(j=0;
j++)y=y+*(*(x+i)+j);
floata[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3];
3;
i++)b[i]=___2___;
f(b,3,4));
26. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"
输入三个整数,按由小到大的顺序输出这三个数。
voidswap(______1______)
{/*交换两个数的位置*/
inttemp;
temp=*pa;
*pa=*pb;
*pb=temp;
inta,b,c,temp;
%d%d%d"
b,&
c);
if(a>
b)swap(&
b);
if(b>
c)swap(&
if(______2______)swap(&
%d,%d,%d"
a,b,c);
27. 在考生目录