c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx

上传人:b****4 文档编号:8245016 上传时间:2023-05-10 格式:DOCX 页数:25 大小:23.60KB
下载 相关 举报
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第1页
第1页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第2页
第2页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第3页
第3页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第4页
第4页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第5页
第5页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第6页
第6页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第7页
第7页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第8页
第8页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第9页
第9页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第10页
第10页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第11页
第11页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第12页
第12页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第13页
第13页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第14页
第14页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第15页
第15页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第16页
第16页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第17页
第17页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第18页
第18页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第19页
第19页 / 共25页
c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx

《c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx(25页珍藏版)》请在冰点文库上搜索。

c语言程序设计教程第三版课后习题参考答案张敏霞版Word文件下载.docx

83

8.55或'

7'

9.x=4;

y=6;

z=3;

m=463

2.3改错题(略)

习题3

3.1单选题

BDABCADCACBBA

3.2填空题

1.3

2.261

3.10

4.2,1;

互换a,b的值

5.6.6

6.003

7.7

8.5.0,4,c=3<

Enter>

9.i=10,j=20<

10.

(1)65

(2)65,A

(3)3.14,123.46

(4)3.141600e+000,1.234560e+002

(5)8765.432100

(6)8.765432e+003

11.a=2b=5x=8.8y=76.34c1=65c2=97

12.%d/%d;

%d/%d=%.2f\n

3.3改错题(略)

3.4编程题

{

intx,y;

scanf("

%d%d"

&

x,&

y);

\t\tx\ty\n"

十进制数\t%d\t%d\n"

x,y);

八进制数\t%o\t%o\n"

十六进制数\t%X\t%x\n"

charch;

请输入一个大写英文字母"

%c"

ch);

大写英文字母是%c\n"

ch);

它的前导字符是%c\n"

ch-1);

它的后续字符是%c\n"

ch+1);

3.答:

main()

{

intx,a,b,c,y;

请输入一个三位整数\n"

%d"

x);

a=x/100;

b=(x-a*100)/10;

c=x%10;

y=c*100+b*10+a;

反向输出该整数:

%d\n"

y);

}

4.答:

{inthour;

doublesalary,salaryday;

%d,%lf"

&

hour,&

salaryday);

salary=hour*salaryday-hour*salaryday*0.1;

%8.2lf\n"

salary);

5.答:

inta,b,c,t;

请输入三个整数\n"

%d%d%d"

a,&

b,&

c);

交换前a=%d,b=%d,c=%d\n"

a,b,c);

t=a;

a=c;

c=b;

b=t;

交换后a=%d,b=%d,c=%d\n"

习题4

4.1单选题

BADDDACBBBBA

4.2填空题

1.1

2.

(1)a>

0||b>

0

(2)x>

0&

&

x<

=10

(3)a==1.5&

b==1.5&

c==1.5(4)p<

a||p<

b||p<

c

3.

(1)0

(2)1(3)1(4)0(5)1

4.c=1

5.-4

6.1

7.5,0,3

8.5

9.123

10.(cvb=='

y'

||cvb=='

Y'

)&

(work>

=3||college=='

||college=='

age<

=35

4.3改错题(略)

4.4编程题

1.答

math.h"

doublea,b,c,p,area;

scanf("

%lf%lf%lf"

printf("

三角形的三边为:

%.llf,%.1lf,%.1lf\n"

if(a+b>

c&

a+c>

b&

b+c>

a)

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

area=sqrt(p*(p-a)*(p-b)*(p-c));

三角形的面积为%.2lf\n"

area);

else

不能构成三角形\n"

{intx,y;

%d,%d"

if(x*x+y*y>

1000)

(x*x+y*y)/100);

x+y);

{doublex,y;

%lf"

if(x<

-2)

y=x*x-sin(x);

elseif(x<

=2)

y=pow(2,x)+x;

y=sqrt(x*x+x+1);

x=%.2lfy=%.2lf\n"

main()

{longge,shi,qian,wan,x;

%ld"

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

if(ge==wan&

shi==qian)/*个位等于万位并且十位等于千位*/

 printf("

thisnumberisahuiwen\n"

else

printf("

thisnumberisnotahuiwen\n"

{floatp,w,s,d,f;

%f,%,%f"

p,s,w);

if(s>

3000)d=0.15

elseif(s>

=2000)d=0.1;

elseif(s>

=1000)d=0.08;

=500)d=0.05;

=250)d=0.02;

elsed=0

f=p*w*s*(1-d);

%f"

f);

6.答:

{intyear,money;

charx;

是否是本公司产品(y/n):

"

if(x=='

||x=='

{printf("

产品使用的年限:

year);

if(year<

=1)money=0;

elseif(year<

8)money=50;

elsemoney=100;

产品保修额是:

money);

else

{money=200;

不是本公司产品,产品保修额是:

7.答:

{intmoney,num1,num2;

请输入取款额(≤2000):

money);

if(money>

2000)printf("

请输入取款额数≤2000!

\n"

if(money%50==0)

{num1=money/100;

num2=(money-num1*100)/50;

printf("

需支付100元:

%d张\n"

num1);

需支付50元:

num2);

}

输入钱数必须是50的倍数!

习题5

5.1单选题

CDABAABDDBDBCB

5.2填空题

1.20

2.333

3.

(1)i<

10或i<

=9

(2)j%3!

=0

4.

(1)flag*(float)k/(k+1)或1.0*flag*k/(k+1)

(2)flag=-flag

5.

(1)max=x

(2)x!

=-1(3)scanf("

x)

6.

(1)x<

=9或x<

10

(2)y=9-x

5.3改错题(略)

5.4编程题

(1)for循环,其他略

{inti,s=0;

for(i=1;

i<

=100;

i++)

s+=i*i;

s);

(2)for循环,其他略

{inti=1,p=1;

doubles=1;

do

s+=1.0/p;

p*=++i;

}while(1.0/p>

1e-6);

{intm,n,t,a,b;

 

m,&

n) 

;

if(m<

n)

{t=m 

m=n 

n=t 

a=m;

b=n;

t=m%n 

while(t)

{m=n 

n=t 

t=m%n;

n);

{intx,y,s=1;

y);

for(;

y>

0;

y--)s*=x;

%d,%d,%d\n"

s%10,s/10%10,s/100%10);

{intx,y,z;

for(x=1;

20;

x++)

for(y=1;

y<

33;

y++)

{z=100-x-y;

if((z%3)==0&

(5*x+3*y+z/3)==100)

x=%d,y=%d,z=%d\n"

x,y,z);

}

(a)

{intj,k;

for(j=1;

j<

=4;

j++)

{for(k=1;

k<

=4-j;

k++)printf("

"

****"

);

(b)

{intj,k 

for(j=1 

=4 

{for(k=1;

for(k=1 

=2*j-1 

k++)

*"

) 

程序分析:

利用for循环控制在100~999之间,对每个数分解出个位、十位、百位。

#include<

stdio.h>

inti,j,k,n;

waterflower'

numberis:

for(n=100;

n<

1000;

n++)

{

i=n/100;

/*分解出百位*/

j=n/10%10;

/*分解出十位*/

k=n%10;

/*分解出个位*/

if(n==i*i*i+j*j*j+k*k*k)

{

%-5d"

intx;

for(x=1000;

x>

=3;

x--)

if(x%3==1&

x%5==2&

x%7==3)

该校的学生人数是:

%d人\n"

x);

break;

8.答:

intx=12,i=1;

while

(1)

{if((x+20+i)==2*(x+i))break;

i++;

小明母亲在%d年后比小明的年龄大一倍\n"

i);

那时小明年龄是:

%d岁,小明母亲年龄是:

%d岁\n"

x+i,x+20+i);

习题6

6.1单选题

DBCCBBDC

6.2填空题

1.c

2.60

3.100010

4.16

6.3编程题

#defineF(a)a*a+sqrt(3*a*a+2*a+1)

{floatx,f;

x);

f=4.5/F(exp(x))+F(cos(x))+F(sqrt(x))/F(x*x);

%f\n"

f);

习题7

7.1单选题

BCADACCCDABCBDB

7.2填空题

1.

(1)2345

(2)10010(3)QuickC

(4)10000

01000

00100

00010

00001

(5)Language(6)LanguageProgramming

2.

(1)j+=2

(2)a[i]>

a[j]

3.

(1)i=1

(2)x[i-1]

7.3改错题(略)

7.4编程题

#defineN10

main()

{inta[N]={1,2,3,4,5,6,7,8,9,10,osum=0,qsum=0,j;

for(j=0;

10;

if(j%2)qsum+=a[j];

elseosum+=a[j];

osum=%d,qsum=%d\n"

osum,qsum);

#defineN10

{inta[N]={10,20,30,40,50,60,70,80,90},j,k,x;

N;

if(x<

a[j])break;

if(j==N)a[N-1]=x;

else

{for(k=N-1;

k>

j;

k--)

a[k]=a[k-1];

a[j]=x;

%d"

a[j]);

#defineM3

{inta[M][M]={{1,2,3},{2,4,5},{3,5,6}},j,k,flag=1;

for(j=0;

M;

for(k=0;

if(a[j][k]!

=a[k][j]){flag=0;

break;

if(flag)printf("

ok"

elseprintf("

NO"

string.h"

{charc1[10],c2[10],j;

gets(c1);

gets(c2);

(c1[j]==c2[j])&

c1[j]&

c2[j];

j++);

if(c1[j]>

c2[j])printf("

1);

if(c1[j]<

-1);

if(c1[j]==c2[j])printf("

0);

#defineN80

{chara[M][N],j,k,n[5]={0};

gets(a[j]);

for(k=0;

a[j][k];

if(a[j][k]>

='

A'

&

a[j][k]<

Z'

)n[0]++;

elseif(a[j][k]>

a'

z'

)n[1]++;

0'

9'

)n[2]++;

elseif(a[j][k]=='

'

)n[3]++;

else

n[4]++;

for(j=0;

5;

%4d"

n[j]);

习题8

8.1单选题

DBDACBACCC

8.2填空题

1.

(1)2,1

(2)10#30#(3)FOUR,P(4)60

2.

(1)49

(2)2(3)2

(4)(5)

8.3改错题(略)

8.4编程题

{intn1,n2,n3,t;

int*p1,*p2,*p3;

pleaseinput3number:

n1,n2,n3:

%d,%d,%d"

n1,&

n2,&

n3);

p1=&

n1;

p2=&

n2;

p3=&

n3;

if(*p1>

*p2){t=*p1;

*p1=*p2;

*p2=t;

*p3){t=*p1;

*p1=*p3;

*p3=t;

if(*p2>

*p3){t=*p2;

*p2=*p3;

thesortednumbersare:

%d,%d,%d\n"

n1,n2,n3);

#defineN3

{inta[N],*p=a;

for(;

p-a<

p++)

p);

p=a+N-1;

p-a>

=0;

p--)

%d"

*p);

{inta[10];

intj,minl=0,maxl=0;

for(j=0;

scanf("

a+j);

{if(a[maxl]<

*(a+j))maxl=j;

if(a[minl]>

*(a+j))minl=j;

}

j=a[0];

a[0]=a[minl];

a[minl]=j;

j=a[9];

a[9]=a[maxl];

a[maxl]=j;

*(a+j));

输入阵列如下:

1234

5678

9101112

输出阵列如下:

1211109

8765

4321

#defineN4

{inta[M][N]={1,2,3,4,5,6,7,8,9,10,11,12},k,j,*p=&

a[0][0],t;

for(k=0,j=M*N-1;

k++,j--)

{t=*(p+k);

*(p+k)=*(p+j);

*(p+j)=t;

for(k=0 

{for(j=0 

XX文库-让每个人平等地提升自我printf("

%4d"

a[k][j]);

intlen;

charstr[20],*p=str;

pleaseinputastring:

%s"

str);

len=0;

while(*p!

\0'

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

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

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

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