浙江省计算机2级c语言程序调试题.docx

上传人:b****7 文档编号:9049906 上传时间:2023-02-02 格式:DOCX 页数:30 大小:22.98KB
下载 相关 举报
浙江省计算机2级c语言程序调试题.docx_第1页
第1页 / 共30页
浙江省计算机2级c语言程序调试题.docx_第2页
第2页 / 共30页
浙江省计算机2级c语言程序调试题.docx_第3页
第3页 / 共30页
浙江省计算机2级c语言程序调试题.docx_第4页
第4页 / 共30页
浙江省计算机2级c语言程序调试题.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

浙江省计算机2级c语言程序调试题.docx

《浙江省计算机2级c语言程序调试题.docx》由会员分享,可在线阅读,更多相关《浙江省计算机2级c语言程序调试题.docx(30页珍藏版)》请在冰豆网上搜索。

浙江省计算机2级c语言程序调试题.docx

浙江省计算机2级c语言程序调试题

程序调试题

1. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5

7、11)。

#include

voidmain()

{intn,i;scanf("%d",&n);

/******1******/

i=2;

while(n>1)

if(n%i==0){printf("%d\t",i);n/=i;}

else

/********2*******/

I++;

}

2. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入的一个小写字母,将字母循环后移5个位置后输出,如‘a’变成‘f’,‘w’变成‘b’。

#include

voidmain()

{charc;c=getchar();

if(______c<'v'______)c=c+5;

elseif(c>='v'&&c<='z')______c=c-'v'+'a';_____

putchar(c);

}

3. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

调用函数f用以求1元2次方程x*x+5*x-2=0的实根。

#include

#include

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;

______ return0;   _____

}

voidmain()

{floatu1,u2;floata=1,b=5,c=-2;

if(________ f(a,b,c,&u1,&u2)_________)printf("实数范围内无解\n");

elseprintf("%.2f%.2f\n",u1,u2);

}

4. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x,当x=1.7时的值。

#include

floatf(float,float*,int);

voidmain()

{floatb[5]={1.1,2.2,3.3,4.4,5.5};

printf("%f\n",f(1.7,b,5));

}

floatf(______ floatx,floata[],intn   _______)

{floaty=a[0],t=1;inti;

for(i=1;i

____ returny;_____

}

5. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

运行时输入n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。

#include

#include

voidmain()

{

intn,s=0;scanf("%d",&n);n=fabs(n);

/********1*******/

while(n!

=0)   

{

s=s+n%10;

/********2******/

 n=n/10;

}

printf("%d\n",s);

}

6. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

分别统计字符串中所有英文字母中的各元音字母个数。

#include

#include

voidmain()

{

chara[80];intn[5]={0},i;gets(a);

for(i=0;a[i]!

='\0';i++)

/*****1*****/

 switch(tolower(a[i])){

case'a':

n[0]++;break;

case'e':

n[1]++;break;

case'i':

n[2]++;break;

case'o':

n[3]++;break;

/*****2*****/

case'u':

n[4]++;

}

for(i=0;i<5;i++)printf("%d\n",n[i]);

}

7. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。

#include

#include

longf(longn)

{

longm,y=0;m=fabs(n);

while(m!

=0){

y=y*10+m%10;

___m=m/10;____

}

if(n>=0)returny;

else_____return-y; ___

}

voidmain(){printf("%ld\t",f(12345));printf("%ld\n",f(-34567));}

8. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入整数n(n>0),求m使得2的m次方小于或等于n、2的m+1次方大于或等于n。

#include

voidmain()

{

intm=0,t=1,n;

while(_____scanf("%d",&n),n<=0________);

while(!

(t<=n&&t*2>=n)){

_____ t=t*2;____

m++;

}

printf("%d\n",m);

}

9. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

运行时若输入a、n分别为3、6,则输出下列表达式的值:

3+33+333+3333+33333+333333

#include

voidmain()

{

inti,a,n;longt=0;

/*********1*******/

 longs=0;

scanf("%d%d",&a,&n);

for(i=1;i<=n;i++){

/*******2******/

t=t*10+1; 

s=s+t;

}

s=s*a;

printf("%ld\n",s);

}

10. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

函数f将数组循环左移k个元素,数组x[7]调用函数f后的输出结果为:

4567123

#include

voidf(int*a,intn,intk)

{

inti,j,t;

for(i=0;i

__t=a[0]__;

for(_______ j=1;j

a[n-1]=t;

}

}

voidmain()

{

inti,x[7]={1,2,3,4,5,6,7};

f(x,7,3);

for(i=0;i<7;i++)printf("%5d",x[i]);

printf("\n");

}

11. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

数列的第1、2项均为1,此后各项值均为该项前二项之和。

计算数列第30项的值。

#include

______longf(int);_____

voidmain(){printf("%ld\n",f(30));}

longf(intn)

{

if(_____n<=2____)return1;

elsereturnf(n-1)+f(n-2);

}

12. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入m、n(要求输入数均大于0),输出它们的最大公约数。

#include

voidmain()

{

intm,n,k;

while(scanf("%d%d",&m,&n),______m<=0||n<=0||m

for(__k=n___;n%k!

=0||m%k!

=0;k--);

printf("%d\n",k);

}

13. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输出6~1000之间的完数(1个数的因子和等于其自身的数:

6=1+2+3、28=1+2+4+7+14,则6、28都是完数)。

#include

voidmain()

{

inti,j,s;

for(i=6;i<=1000;i++){

____ s=1;____

for(j=2;__j

if(s==i)printf("%d\n",s);

}

}

14. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。

#include

voidmain()

{

intn,k=0;scanf("%d",&n);

while(____ n!

=0___){

k++;

____n=n/10____;

}

printf("%d\n",k);

}

15. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入m、n(要求输入数均大于0,且m>=n),输出它们的最小公倍数。

#include

voidmain()

{

intm,n,k;

/********1*********/

while(scanf("%d%d",&m,&n),m<=0||n<=0||m

for(k=m;k%n!

=0;)

/********2********/

k=k+m;

printf("%d\n",k);

}

16. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

调用函数f,将字符串中的所有字符逆序存放,然后输出。

例如,输入字符串为"123456",则程序的输出结果为"654321"。

#include

#include

voidmain(){chars[60],*f(char*);gets(s);printf("%s\n",f(s));}

_ char*__f(char*x)

{

chart;inti,n;

__n=strlen(x);__

for(i=0;i

returnx;

}

17. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。

#include

#include

#include

voidmain()

{

intn,i;

/*****1*****/

char*str;

scanf("%d\n",&n);str=(char*)malloc(n);gets(str);

/*****2*****/

for(i=0;i

if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-('a'-'A');

puts(str);

}

18. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

调用函数f,求a数组中最大值与b数组中最小值之差。

#include

enumFLAG{positive=1,negative=-1};

floatf(float*x,intn,enumFLAGflag)

{

floaty;inti;

__ y=x[0];__

for(i=1;iflag*y)y=x[i];

returny;

}

voidmain()

{

floata[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1};

printf("%.2f\n",f(a,6,positive)-__f(b,5,negative)__);

}

19. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。

#include

#include

#definef(x)x*x-5*x+sin(x)

voidmain()

{

intx;floatmax;

____max=f

(1);___

for(x=2;x<=10;x++)___ if(max

_____

printf("%f\n",max);

}

20. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。

#include

#include

#include

voidmain()

{

inti,n;

/*****1*****/

structaxy{floatx,y;}*a;

scanf("%d",&n);

a=(float*)malloc(n*2*sizeof(float));

for(i=0;i

/*****2*****/

scanf("%f%f",&a[i].x,&a[i].y); 

for(i=0;i

if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5)

printf("%f,%f\n",a[i].x,a[i].y);

}

21. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入1个字符串,按字母出现次序输出其中所出现过的大写英文字母。

如运行时输入字符串"FONTNAMEandFILENAME",应输出"FONTAMEIL"。

#include

voidmain()

{

charx[80],y[26];inti,j,ny=0;gets(x);

for(i=0;x[i]!

='\0';i++)

if(x[i]>='A'&&x[i]<='Z'){

for(j=0;j

/*****1*****/

 if(y[j]==x[i])break;

if(j==ny){y[ny]=x[i];ny++;}

}

/*****2*****/

for(i=0; i

printf("\n");

}

22. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。

#include

#include

voidmain()

{

intn,s=0;scanf("%d",&n);

_____n=abs(n); _____

while(n!

=0){

_____s=s+n%10; 

____

n=n/10;

}

printf("%d\n",s);

}

23. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

运行时输入10个数,然后分别输出其中的最大值、最小值。

#include

voidmain()

{

floatx,max,min;inti;

/********1*******/

 for(i=1;i<=10;i++){

scanf("%f",&x);

/*******2********/

if(i==1){max=x;min=x;}

if(x>max)max=x;

if(x

}

printf("%f,%f\n",max,min);

}

24. 在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误,请改正(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入x和正数eps,计算多项式1-x+x*x/2!

-x*x*x/3!

+...的和直到末项的绝对值小于eps为止。

#include

#include

voidmain()

{

floatx,eps,s=1,t=1,i=1;

scanf("%f%f",&x,&eps);

do{

/*****1*****/

 t=-t*x/i++;

s+=t;

/*****2*****/

}while(fabs(t)>=eps);

printf("%f\n",s);

}

25. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

调用函数f,求二维数组a中全体元素之和。

#include

floatf(______float*x[],intm,intn______)

{

floaty=0;inti,j;

for(i=0;i

for(j=0;j

returny;

}

voidmain()

{

floata[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3];

inti;

for(i=0;i<3;i++)b[i]=___a[i]__;

printf("%.2f\n",f(b,3,4));

}

26. 在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:

不得加行、减行、加句、减句,否则后果自负)。

该程序功能:

输入三个整数,按由小到大的顺序输出这三个数。

#include

voidswap

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1