C语言程序改错练习.docx

上传人:b****6 文档编号:13669275 上传时间:2023-06-16 格式:DOCX 页数:23 大小:18.52KB
下载 相关 举报
C语言程序改错练习.docx_第1页
第1页 / 共23页
C语言程序改错练习.docx_第2页
第2页 / 共23页
C语言程序改错练习.docx_第3页
第3页 / 共23页
C语言程序改错练习.docx_第4页
第4页 / 共23页
C语言程序改错练习.docx_第5页
第5页 / 共23页
C语言程序改错练习.docx_第6页
第6页 / 共23页
C语言程序改错练习.docx_第7页
第7页 / 共23页
C语言程序改错练习.docx_第8页
第8页 / 共23页
C语言程序改错练习.docx_第9页
第9页 / 共23页
C语言程序改错练习.docx_第10页
第10页 / 共23页
C语言程序改错练习.docx_第11页
第11页 / 共23页
C语言程序改错练习.docx_第12页
第12页 / 共23页
C语言程序改错练习.docx_第13页
第13页 / 共23页
C语言程序改错练习.docx_第14页
第14页 / 共23页
C语言程序改错练习.docx_第15页
第15页 / 共23页
C语言程序改错练习.docx_第16页
第16页 / 共23页
C语言程序改错练习.docx_第17页
第17页 / 共23页
C语言程序改错练习.docx_第18页
第18页 / 共23页
C语言程序改错练习.docx_第19页
第19页 / 共23页
C语言程序改错练习.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序改错练习.docx

《C语言程序改错练习.docx》由会员分享,可在线阅读,更多相关《C语言程序改错练习.docx(23页珍藏版)》请在冰点文库上搜索。

C语言程序改错练习.docx

C语言程序改错练习

C语言程序改错练习

共18题

第2题(4.0分)题号:

406难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

有1、2、3、4个数字,能组成多少个互不相同且无重复数

字的三位数?

都是多少?

------------------------------------------------------*/

#include

main()

{

inti,j,k;

/**********FOUND**********/

printf("\n")

/**********FOUND**********/

for(i=1;i<=5;i++)

for(j=1;j<5;j++)

for(k=1;k<5;k++)

{

/**********FOUND**********/

if(i!

=k||i!

=j||j!

=k)

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

}

}

答案:

=======(答案1)=======

printf("\n");

=======(答案2)=======

for(i=1;i<5;i++)

=========或=========

for(i=1;i<=4;i++)

=======(答案3)=======

if(i!

=k&&i!

=j&&j!

=k)

第9题(4.0分)题号:

443难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

企业发放的奖金根据利润提成。

利润(i)低于或等于10万元

时,奖金可提10%;利润高于10万元,低于20万元时,低于

10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;

20万到40万之间时,高于20万元的部分,可提成5%;40万

到60万之间时高于40万元的部分,可提成3%;60万到100万

之间时,高于60万元的部分,可提成1.5%,高于100万元时,

超过100万元的部分按1%提成,从键盘输入当月利润i,求

应发放奖金总数?

------------------------------------------------------*/

#include

main()

{

longinti;

doublebonus1,bonus2,bonus4,bonus6,bonus10,bonus;

/**********FOUND**********/

scanf("%ld"&i);

bonus1=100000*0.1;bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

/**********FOUND**********/

if(i>100000)

bonus=i*0.1;

elseif(i<=200000)

bonus=bonus1+(i-100000)*0.075;

elseif(i<=400000)

bonus=bonus2+(i-200000)*0.05;

elseif(i<=600000)

bonus=bonus4+(i-400000)*0.03;

elseif(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01;

/**********FOUND**********/

printf("bonus=%d",bonus)

}

答案:

=======(答案1)=======

scanf("%ld",&i);

=======(答案2)=======

if(i<=100000)

=======(答案3)=======

printf("bonus=%d",bonus);

 

第29题(4.0分)题号:

435难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

输入n,计算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n

------------------------------------------------------*/

#include

voidmain()

{

/**********FOUND**********/

inti,s;p,n;

printf("Entern:

\n");

/**********FOUND**********/

scanf("%d",n);

/**********FOUND**********/

for(s=p=0,i=1;i

s+=p+=i;

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

}

答案:

=======(答案1)=======

inti,s,p,n;

=======(答案2)=======

scanf("%d",&n);

=======(答案3)=======

for(s=p=0,i=1;i<=n;i++)

 

第30题(4.0分)题号:

556难度:

中第2章

/*-------------------------------------------------------

【程序改错】

---------------------------------------------------------

题目:

下列程序的功能为:

按下列公式计算并输出x的值。

其中a和b的值由键盘输入。

请纠正程序中存在的错误,使程序实现其功能。

公式:

x=2ab/(a+b)^2(平方)

-------------------------------------------------------*/

#include

main()

{

inta,b;

doublex;

/***********FOUND***********/

scanf("%d,%d",a,b);

/***********FOUND***********/

x=2ab/(a+b)(a+b);

/***********FOUND***********/

printf("x=%d\n",x);

}

答案:

=======(答案1)=======

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

=======(答案2)=======

x=2.0*a*b/((a+b)*(a+b));

=======(答案3)=======

printf("x=%f\n",x);

第40题(4.0分)题号:

411难度:

难第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

一球从100米高度自由落下,每次落地后反跳回原高度的

一半;再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

------------------------------------------------------*/

#include

main()

{

/**********FOUND**********/

floatsn=100.0;hn=sn/2;

intn;

/**********FOUND**********/

for(n=2;n<10;n++)

{

sn=sn+2*hn;

/**********FOUND**********/

hn=hn%2;

}

printf("thetotalofroadis%f\n",sn);

printf("thetenthis%fmeter\n",hn);

}

答案:

=======(答案1)=======

floatsn=100.0,hn=sn/2;

=======(答案2)=======

for(n=2;n<=10;n++)

=========或=========

for(n=2;n<11;n++)

=======(答案3)=======

hn=hn/2;

 

第42题(4.0分)题号:

446难度:

中第1章

/*-------------------------------------------------------

【程序改错】

---------------------------------------------------------

功能:

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

-------------------------------------------------------*/

#include

main(){

charc;

intletters=0,space=0,digit=0,others=0;

printf("pleaseinputsomecharacters\n");

/***********FOUND***********/

while((c=getchar())=='\n'){

/***********FOUND***********/

if(c>='a'&&c<='z'&&c>='A'&&c<='Z')

letters++;

/***********FOUND***********/

elseif(c=!

'')

space++;

elseif(c>='0'&&c<='9')

digit++;

else

others++;

}

printf("allinall:

char=%dspace=%ddigit=%dothers=%d\n",letters,

space,digit,others);

}

答案:

=======(答案1)=======

while((c=getchar())!

='\n')

=======(答案2)=======

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

=========或=========

if(c<='z'&&c>='a'||c>='A'&&c<='Z')

=========或=========

if(c<='z'&&c>='a'||c>='A'&&c<='Z')

=======(答案3)=======

elseif(c=='')

 

第49题(4.0分)题号:

433难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

学习使用按位或|。

------------------------------------------------------*/

#include

main()

{

/**********FOUND**********/

intab;

a=077;

b=a|3;

/**********FOUND**********/

printf("\40:

Thea&b(decimal)is%d\n",&b);

/**********FOUND**********/

b|=7

printf("\40:

Thea&b(decimal)is%d\n",b);

}

答案:

=======(答案1)=======

inta,b;

=======(答案2)=======

printf("\40:

Thea&b(decimal)is%d\n",b);

=======(答案3)=======

b|=7;

=========或=========

b=b|7;

 

第61题(4.0分)题号:

441难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

请输入星期几的第一个字母来判断一下是星期几,如果第一

个字母一样,则继续判断第二个字母。

------------------------------------------------------*/

#include"conio.h"

#include

voidmain()

{

charletter;

printf("pleaseinputthefirstletterofsomeday\n");

/**********FOUND**********/

while((letter=getch())='Y')

{

switch(letter)

{

case'S':

printf("pleaseinputsecondletter\n");

if((letter=getch())=='a')

printf("saturday\n");

elseif((letter=getch())=='u')

printf("sunday\n");

elseprintf("dataerror\n");

break;

case'F':

printf("friday\n");

break;

case'M':

printf("monday\n");

break;

case'T':

printf("pleaseinputsecondletter\n");

/**********FOUND**********/

if((letter=getch())!

='u')

printf("tuesday\n");

elseif((letter=getch())=='h')

printf("thursday\n");

else

printf("dataerror\n");

/**********FOUND**********/

break

case'W':

printf("wednesday\n");

break;

default:

printf("dataerror\n");

}

}

}

答案:

=======(答案1)=======

while((letter=getch())!

='Y')

=======(答案2)=======

if((letter=getch())=='u')

=======(答案3)=======

break;

第63题(4.0分)题号:

434难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的

最大的n。

------------------------------------------------------*/

#include

#include"string.h"

main()

{

intn,s;

/**********FOUND**********/

s==n=0;

/**********FOUND**********/

while(s>1000)

{

++n;

s+=n*n;

}

/**********FOUND**********/

printf("n=%d\n",&n-1);

}

答案:

=======(答案1)=======

s=n=0;

=======(答案2)=======

while(s<=1000)

=======(答案3)=======

printf("n=%d\n",n-1);

 

第64题(4.0分)题号:

4难度:

易第1章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

在一个已按升序排列的数组中插入一个数,插入后,数

组元素仍按升序排列。

------------------------------------------------------*/

#include

#defineN11

main()

{

inti,number,a[N]={1,2,4,6,8,9,12,15,149,156};

printf("pleaseenteranintegertoinsertinthearray:

\n");

/**********FOUND**********/

scanf("%d",&number)

printf("Theoriginalarray:

\n");

for(i=0;i

printf("%5d",a[i]);

printf("\n");

/**********FOUND**********/

for(i=N-1;i>=0;i--)

if(number<=a[i])

/**********FOUND**********/

a[i]=a[i-1];

else

{

a[i+1]=number;

/**********FOUND**********/

exit;

}

if(number

printf("Theresultarray:

\n");

for(i=0;i

printf("%5d",a[i]);

printf("\n");

}

答案:

=======(答案1)=======

scanf("%d",&number);

=======(答案2)=======

for(i=N-2;i>=0;i--)

=========或=========

for(i=N-2;0<=i;i--)

=======(答案3)=======

a[i+1]=a[i];

=======(答案4)=======

break;

 

第70题(4.0分)题号:

408难度:

中第2章

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5

------------------------------------------------------*/

#include

main()

{

intn,i;

printf("\npleaseinputanumber:

\n");

scanf("%d",&n);

printf("%d=",n);

for(i=2;i<=n;i++)

{

/**********FOUND**********/

while(n==i)

{

/**********FOUND**********/

if(n%i==1)

{

printf("%d*",i);

/**********FOUND**********/

n=n%i;

}

else

break;

}

}

printf("%d",n);

}

答案:

=======(答案1)=======

while(n!

=i)

=======(答案2)=======

if(n%i==0)

=========或=========

if(!

(n%i))

=======(答案3)=======

n=n/i;

 

第76题(4.0分)题号:

553难度:

中第1章

/*-------------------------------------------------------

【程序改错】

---------------------------------------------------------

题目:

列程序的功能为:

已知圆锥半径r和高h,计算圆锥体积v。

请纠正程序中存在错误,

使程序实现其功能。

-------------------------------------------------------*/

#include

main()

{

/***********FOUND***********/

floatr=10,h=5;

/***********FOUND***********/

v=1/3*3.14159*r2*h;

/***********FOUND***********/

printf("v=%d\n",v);

}

答案:

=======(答案1)=======

doubler=10,h=5,v;

=========或=========

floatr=10,h=5,v;

=======(答案2)=======

v=1.0/3*3.14159*r*r*h;

=======(答案3)=======

printf("v=%f\n",v);

 

第79题(4.0分)题号:

551难度:

中第1章

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2