北理工C语言课后习题答案.docx

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

北理工C语言课后习题答案.docx

《北理工C语言课后习题答案.docx》由会员分享,可在线阅读,更多相关《北理工C语言课后习题答案.docx(26页珍藏版)》请在冰点文库上搜索。

北理工C语言课后习题答案.docx

北理工C语言课后习题答案

第一章习题参考答案

一、单项选择题

1.C2.B3.B4.C5.D

6.A7.C8.A

二、填空题

1.判断条件2.面向过程编程

3.结构化4.程序

5.面向对象语言6.基本功能操作控制结构

7.有穷性8.直到型循环结构

9.算法10.可读性

11.模块化12.对问题的分解和模块的划分

第二章习题参考答案

一、单项选择题

1.B2.D3.C4.B5.A

6.A7.B8.C

二、填空题

1.主2.C编译系统

3.函数一个主函数和若干函数4.输入输出

5.以.h为扩展名的头文件6..obj

7.库函数8.文本

第三章习题参考答案

一、单项选择题

1.D2.B3.A4.C5.C

6.D7.B8.D9.B10.C

11.A12.D13.C14.C15.C

16.C17.B18.C19.C20.D

21.A22.D23.D24.DA25.D

26.A

二、填空

1.补码2.取绝对值为10-308~1030815~16位

3.0或14.赋值右向左

5.函数调用6.65,89

三、应用题

1.109

2.11

0

0

12

1

3.区别是:

求负:

单目,右结合-a+b

减法:

双目,左结合a-b

取地址:

单目,右结合&a

按位与:

双目,左结合a&b

第四章习题参考答案

一、单项选择题

1.D2.C3.D4.A5.D

6.B7.A8.C9.B10.B

二、填空题

1.一条;

2.5.169000

3.

(1)-2002500

(2)i=-200,j=2500

(3)i=-200

j=2500

4.a=98,b=765.000000,c=4321.000000

5.三种可能的输入是:

(1)100<回车>25.81<回车>1.89234<回车>

(2)100<空格>25.81<空格>1.89234<回车>

(3)10025.811.89234<回车>

6.0,0,3

7.3

8.输入语句是:

scanf("%lf%lf%lf",&a,&b,&c);

9.1313.00000013.000000

10.3种方法:

(1)增加一个临时变量t。

t=a;a=c;c=t;

(2)b=a;a=c;c=b;

(3)a=a+c;c=a-c;a=a-c;

三、编程题

1.

#include

intmain()

{printf("***************************\n");

printf("verygood!

\n");

printf("***************************\n");

}

2.

#include

intmain()

{inthour,min;

scanf("%d,%d",&hour,&min);

min=60*hour+min;

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

}

3

#include

intmain()

{floatc,f;

scanf("%f",&c);

f=32+9.0*c/5;

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

}

按题目要求分别输入-10,0,15和34计算相应的华氏温度。

4

#include

intmain()

{floatr,l,s;

scanf("%f",&r);

l=2*3.141592*r;

s=3.14159*r*r;

printf("r=%f,l=%f,s=%f\n",r,l,s);

}

5

#include

#include

intmain()

{floata,b,c,s,area;

scanf("%f,%f,%f",&a,&b,&c);

if((a+b>c)&&(a+c>b)&&(b+c>a))/*判断两边之和大于第三边*/

{s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));/*调用开方函数,计算面积*/

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

}

}

6

#include

intmain()

{inta=3,b=4,c=5;

floatd=1.2,e=2.23,f=-43.56;

printf("a=%3d,b=%-4d,c=**%d\n",a,b,c);

printf("d=%3.1f\ne=%6.2f\nf=%-10.4f**\n",d,e,f);

}

7

#include

intmain()

{inta,b,c,t;

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

printf("a=%d,b=%d,c=%d\n",a,b,c);

t=a;

a=b;

b=c;

c=t;

printf("a=%d,b=%d,c=%d\n",a,b,c);

}

8

#include

intmain()

{floata,b,c,aver;

printf(“Pleaseinputthreenumbers:

\n”);

scanf("%f,%f,%f",&a,&b,&c);

aver=(a+b+c)/3;

printf("averageof%5.2f,%5.2fand%5.2fis%5.2f\n",a,b,c,aver);

}

9

#include

intmain()

{inta,b,c,x,y;

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

x=a*b;y=x*c;

printf("a=%d,b=%d,c=%d\n",a,b,c);

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

}

第五章习题参考答案

一、单项选择题

1.B2.D3.C4.B5.B

6.D7.A8.B9.D

二、填空题

1.非00

2.k==0或!

k!

=0

3.if(x>4||x<-4)printf("%d",x);elseprintf("error!

");

或:

(x>4||x<-4)?

printf("%d",x):

printf("error!

");

或:

if(fabs(x)>4)printf("%d",x);elseprintf("error!

");

4.if((x%2!

=0)&&((x>=1&&x<=10)||(x>=200&&x<=210)))

printf(“%d”,x);

5.1

6.k=1

7.10!

Right!

11

8.$$$a=0

9.a=2,b=1

10.a>0&&a

三、编程题

1.

main()

{inta,b,c;

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

if((a>b)&&(a>c))

if(b

elseprintf("min=%d\n",c);

elseif(a<=b)

if(a

elseprintf("min=%d\n",c);

elseif(a

elseprintf("min=%d\n",c);

}

2:

本程序使用goto语句,仅供参考,请勿模仿。

#include

intmain()

{longa;

intk;

scanf("%ld",&a);

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

loop:

if(a!

=0)

{k=a%10;

printf("%d",k);

a=a/10;

gotoloop;

}

return0;

}

3.

(1)用简单的if结构

#include

intmain()

{intx,y;

scanf("%d",&x);

if(x<0&&x>-5)

y=x;

if(x<5&&x>=0)

y=x-1;

if(x>=5&&x<10)

y=x+1;

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

return0;

}

(2)用嵌套的if结构

#include

intmain()

{intx,y;

scanf("%d",&x);

if(x<5)

if(x<0)

if(x>-5)

y=x;

else

y=x-1;

else

if(x<10)

y=x+1;

if(x>=10&&x<=-5)

printf("%derror!

\n",x);

else

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

return0;

}

(3)用if-else分支结构

#include

intmain()

{intx,y;

scanf("%d",&x);

if(x>=10&&x<=-5)

printf("%derror!

\n",x);

elseif(x<0)

y=x;

elseif(x<5)

y=x-1;

else

y=x+1;

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

return0;

}

(4)用switch()结构

#include

intmain()

{intx,y,k;

printf("Pleaseinputx:

-----10\n");

p:

scanf("%d",&x);

if(x>=10&&x<=-5)

{printf("%derror!

Inputagain!

\n",x);

gotop;

}

if(x<0)

k=-1;

else

k=x/5;

switch(k)

{case1:

y=x+1;break;

case0:

y=x-1;break;

case-1:

y=x;break;

}

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

return0

}

4.

#include

intmain()

{inty0,m0,d0,y1,m1,d1,age;

printf("Pleaseinputcurrentday:

\n");

scanf("%d,%d,%d",&y1,&m1,&d1);

printf("Pleaseinputbirthday:

\n");

scanf("%d,%d,%d",&y0,&m0,&d0);

age=y1-y0;

if(m1

age--;

elseif(m1==m0&&d1

age--;

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

return0;

}

5.

#include

intmain()

{inta,b,c;

printf("Pleaseinputa,b,c:

\n");

scanf("%d,%d,%d",&a,&b,&c);/*输入三角形的三条边*/

if(a+b>c&&a+c>b&&b+c>a)/*判断两边之和大于第三边*/

if(a==b&&b==c)/*判断等边三角形*/

printf("等边三角形\n");

elseif(a==b||a==c||b==c)/*判断等腰三角形*/

printf("等腰三角形\n");

else

printf("一般三角形\n");

else

printf("不能组成三角形\n");

return0;

}

6.

main()

{intx,y,k;

scanf("%d",&x);

k=x/10;

if(k<1)

k=1;

switch(k)

{case1:

y=1;break;

case2:

y=2;break;

case3:

y=3;break;

case4:

y=4;break;

case5:

y=5;break;

default:

y=6;

}

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

return0;

}

7.

#include

intmain()

{intm,k;

floatn;

printf("Pleaseinput购买金额m:

\n");

scanf("%d",&m);

k=m/100;

switch(k)

{case0:

n=0;break;

case1:

n=0.015;break;

case2:

n=0.025;break;

case3:

n=0.035;break;

case4:

n=0.045;break;

case5:

n=0.055;break;

default:

n=0.06;

}

printf("%5d,%7.2f,%7.2f",m,m-n*m,m*n);/*输出购买金额、实际支付金额和返还金额*/

return0;

}

8.本程序使用goto语句实现,仅供参考,请勿模仿。

#include

intmain()

{intyear=1995,month,days=0;

loop:

if(year<=2000)

{days=days+7*31+4*30+28;/*每年增加365天*/

if(year%4==0&&year%100!

=0||year%400==0)/*判断闰年*/

days++;

year++;

gotoloop;

}

days=days-21;/*仅计算到2000年12月10日*/

printf("Thetotaldaysis:

%d\n",days);

return0;

}

9.本程序使用goto语句实现,仅供参考,请勿模仿。

#include

intmain()

{longa;

intb,k=0,m;

printf("Pleaseinputa<99999:

\n");

scanf("%ld",&a);

b=a%10;

m=a;

loop:

if(m!

=0)

{k++;

m=m/10;

gotoloop;

}

}

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

return0;

}

10:

本程序使用goto语句实现,仅供参考,请勿模仿。

#include

#include

intmain()

{longa,m,n=0;

inti=0,k;

scanf("%ld",&a);

m=a;

loop:

if(m!

=0)

{k=m%10;

k=k+2;

if(k>=9)

k=k%10;

m=m/10;

n=k*pow(10,i)+n;

i++;

gotoloop;

}

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

return0;

}

第六章习题参考答案

一、选择题

1.B2.C3.C4.B5.C6.B7.C8.A

二、填空题

1.无数次2.83.204.11

5.2.4000006.*#*#*#$7.852

8.①d=1.0②k++③k<=n9.①x>=0②x

三、编程题

1.

#include

intmain()

{inti,k,s=0;

k=1;

for(i=1;i<=101;i+=2)

{s+=k*i;

k=-k;

}

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

return0;

}

2.

#include

intmain()

{inti,k,s1=0,s2=0;

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

{scanf("%d",&k);

if(k>=0)

s1+=k;

else

s2+=k;

}

printf("s1=%d,s2=%d,s1+s2=%d\n",s1,s2,s1+s2);

}

_

3.

#include

intmain()

{inti,k;

scanf("%d",&k);

while(k>0)

{printf("%d,",k%10);

k=k/10;

}

}

4.

#include

intmain()

{inti=1,x,y,a=1;

scanf("%d,%d",&x,&y);

while(i<=y)

{a=a*x%1000;

i++;

}

printf("%d\n",a%1000);

return0;

}

5.

#include

intmain()

{inti,j,x;floatav,s;

for(i=1;i<=6;i++)/*对6个学生循环*/

{s=0;

for(j=1;j<=5;j++)/*输入每个学生的5门课成绩,并输出*/

{scanf("%d",&x);

printf("%5d",x);

s=s+x;

}

av=s/5;/*计算每个学生的平均成绩av*/

printf("\nNO.%d:

av=%f\n",i,av);/*输出每个学生的平均成绩*/

}

}

_6.

#include

intmain()

{inti,n;

doublet=1,e=0;

/*

(1)计算前n项*/

scanf("%d",&n);

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

{t=t*i;/*i!

*/

e+=1/t;

}

printf("n=%d,e=%f\n",n,e);

/*

(2)*/

t=1,e=0;i=1;

while(1/t>=1e-4)

{e+=1/t;

i++;

t=t*i;/*i!

*/

}

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

}

7.

#include

intmain()

{intj,n,x1,x2,x3,x;

scanf("%d",&n);

printf("%8d%8d%8d\n",x1=1,x2=2,x3=3);

for(j=4;j<=n;j++)

{x=x1+x2+x3;

x1=x2;

x2=x3;

x3=x;

printf("%8d",x);

if(j%3==0)

printf("\n");

}/*3个数一行*/

printf("\n");

/*改进的方法,一次产生3个数

printf("**%8d%8d%8d\n",x1=1,x2=2,x3=3);

for(j=4;j<=n;j+=3)

{x1=x1+x2+x3;

x2=x1+x2+x3;

x3=x1+x2+x3;

printf("**%8d%8d%8d\n",x1,x2,x3);

}

*/

return0;

}

_8.

方法1:

#include

intmain()

{inti,j,k,n,p,t,u=0;

for(i=1012;i<=9998;i+=2)

{j=i/1000;

k=i/100%10;

n=i/10%10;

p=i%10;

if(j!

=k&&j!

=n&&j!

=p&&k!

=n&&k!

=p&&n!

=p)

printf(“%d\n”,i);

}

return0;

}

方法2:

#include

intmain()

{inti,j,k,n,p,t,u=0;

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

{for(j=0;j<10;j++)

{if(i==j)

continue;

for(k=0;k<10;k++)

{if(i==k||j==k)

continue;

for(p=0;p<9;p+=2)

{if(i==p||j==p||k==p)

continue;

t=i*1000+j*100+k*10+p;

printf("%8d",t);/*输出满足条件的4位偶数,8个数一行*/

u++;

if(u%8==0)

printf("\n");

}

}

}

}

return0;

}

9.

#include

intmain()

{inti,j,k;

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

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

{k=100-i-j;

if(40*i+4*j+2*k==400)

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

}

return0;

}

_

10.

#include

intmain()

{inti,j,n,k;

scanf("%d",&n);

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

{

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

当前位置:首页 > 小学教育 > 英语

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

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