C语言程序设计课后答案罗朝盛.docx

上传人:b****5 文档编号:12119468 上传时间:2023-04-17 格式:DOCX 页数:62 大小:193.24KB
下载 相关 举报
C语言程序设计课后答案罗朝盛.docx_第1页
第1页 / 共62页
C语言程序设计课后答案罗朝盛.docx_第2页
第2页 / 共62页
C语言程序设计课后答案罗朝盛.docx_第3页
第3页 / 共62页
C语言程序设计课后答案罗朝盛.docx_第4页
第4页 / 共62页
C语言程序设计课后答案罗朝盛.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

C语言程序设计课后答案罗朝盛.docx

《C语言程序设计课后答案罗朝盛.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课后答案罗朝盛.docx(62页珍藏版)》请在冰豆网上搜索。

C语言程序设计课后答案罗朝盛.docx

C语言程序设计课后答案罗朝盛

 

C语言程序设计课后答案_罗朝盛(总39页)

第1章习题参考答案

1.(略)

2判断题

1

2

3

4

5

×

×

3填空题

(1)main

(2)函数的首部、函数体

(3){、}

(4)main、main

(5)语句、分号(;)

4选择题

1

2

3

4

5

C

C

C

A

B

5选择题

(1)

#include<>

main()

{

inta,b,s;

floatt;

printf("EnterA,B=\n");

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

s=a+b;

t=a*b;

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

}

(2)

#include<>

main()

{

printf("=================\n");

printf("Hello!

\n");

printf("Howdoyoudo\n");

printf("=================\n");

}

(3)

#include<>

main()

{

intr,h;

floatv;

printf("EnterR,H=\n");

scanf("%d%d",&r,&h);

v=*r*r*h;

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

}

第2章习题参考答案

一.(略)

二.填空题

(1)

(2)

(3)16

(4)10

(5)16、16、11

(6)4、10、6

(7)18、3、3

(8)sin(65*180)+2*(+exp(y))/(x-y)

(9)25、25

(10)27

(11)4

(12)0

三、选择题

1

2

3

4

5

6

7

8

9

10

11

12

D

D

C

B

D

A

D

B

C

D

A

B

四、编程题

1.

#include<>

main()

{

intx,a,b,c;

printf("Enteraintgernumberx=\n");

scanf("%d",&x);

a=x/100;

b=x%100/10;

c=x%10;

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

}

2.

#include<>

main()

{

unsigneda,b,r1,r2,r3;

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

r1=a&b;

r2=a|b;

r3=a^b;

printf("r1=%u,r2=%u,r3=%u\n",r1,r2,r3);

getch();

}

3.

#include<>

main()

{

floata,b,h,s;

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

s=(a+b)*h/2;

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

}

第3章习题参考答案

一、判断题

1

2

3

4

5

6

×

×

×

×

2填空题

3语句

4表达式语句

5{}

6函数

7由“%”和格式字符

8&

9getchar()

1027,33,1b

11x

(1)=x

(2)=

125+6

3程序阅读题

1、

p=

p=

p=

p=

p=

p=

2、

a----ASCII:

97

a----ASCII:

97

a----ASCII:

97

 

4编程题

1、

#include<>

main()

{

inta,b;

floatr1,r2;

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

r2=a+b;

r1=a*b/r2;

printf("r1=%,r2=%\n",r1,r2);

}

2、

#include<>

main()

{

floatc,f;

printf("InputC=");

scanf("%f",&c);

f=5*c+32;

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

}

3、

#include<>

voidmain()

{

floatc1,c2,c3,ver,s;

printf("Inputa,bandc:

");

scanf("%f%f%f",&c1,&c2,&c3);

s=c1+c2+c3;

ver=s/3;

printf("totals=%f,ver=%f\n",s,ver);

}

}

第4章习题参考答案

1判断题

1

2

3

4

5

6

×

×

×

2选择题

1

2

3

4

5

6

7

8

B

B

B

B

D

A

B

B

3程序阅读题

(1)105

(2)a=8

(3)abc123DEF

(4)

4程序填空题

(1)chch==')'count--count==0count>0

(2)div=ndiv—

(3)min=markmin=markmax=marksum+=mark

5编程题

(1)

#include<>

voidmain()

{intx,y;

printf("EntertheX,Y=\n");

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

if(x>0&&y>0)

printf("(%d,%d)是第一像限\n",x,y);

elseif(x>0&&y<0)

printf("(%d,%d)是第四像限\n",x,y);

elseif(x<0&&y>0)

printf("(%d,%d)是第三像限\n",x,y);

elseif(x<0&&y<0)

printf("(%d,%d)是第二像限\n",x,y);

elseif(x>0&&y==0)

printf("(%d,%d)在X轴正方向\n",x,y);

elseif(x<0&&y==0)

printf("(%d,%d)在X轴负方向\n",x,y);

elseif(x==0&&y>0)

printf("(%d,%d)在Y轴正方向\n",x,y);

elseif(x==0&&y<0)

printf("(%d,%d)在Y轴负方向\n",x,y);

else

printf("(%d,%d)为坐标原点\n",x,y);

}

(2)

#include<>

#include<>

main()

{

floata,b,c,x,s;

printf("Inputa,bandc:

");

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

if(a+b<=c||a+c<=b||b+c<=a)

printf("Error!

\n");

else{

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

s=sqrt(x*(x-a)*(x-b)*(x-c));

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

}

}

 

(3)

程序代码如下:

#include<>

voidmain()

{floatsalary,tax;

intntax;

printf("\nPleaseenterasalary=");

scanf("%f",&salary);

ntax=salary/500;

if(ntax>=10)ntax=10;

switch(ntax)

{case0:

case1:

tax=0;break;

case2:

tax=(salary-1000)*;break;

case3:

case4:

tax=500*+(salary-1500)*;break;

case5:

case6:

tax=500*+1000*+(salary-2500)*;break;

case7:

case8:

case9:

tax=500*+1000*+1000*+(salary-3500)*;break;

case10:

tax=500*+1000*+1000*+1500*+(salary-5000)*;

}

printf("\nThetax=%\n",tax);

}

(4)方法一

#include<>

#include<>

main()

{

inti=1;

floatt=-1,s=0;

do{

t=-t/i;

s=s+t;

i=i+1;

}while(fabs(t)>1e-6);

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

}

方法二

#include<>

voidmain()

{

inti=1,sign=1;

floatt=,s=;

whilet>1e-6)

{

t=t*i;

s=s+sign/t;

i=i+1;

sign=-sign;

};

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

}

(5)方法一:

#include<>

main()

{

inti,a,b,c;

for(i=100;i<=999;i++)

{

a=i/100;

b=i/10%10;

c=i%10;

if(i==a*a*a+b*b*b+c*c*c)printf("%d\n",i);

}

}

方法二:

#include<>

voidmain()

{

inti,a,b,c;

for(a=1;a<=9;a++)

for(b=0;b<=9;b++)

for(c=0;c<=9;c++)

{i=a*100+b*10+c;

if(i==a*a*a+b*b*b+c*c*c)printf("%d\n",i);

}

}

(6)

#include<>

main()

{

inti,j;

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

{

for(j=1;j<=6-i;j++)putchar('');

for(j=1;j<=i*2-1;j++)

printf("%c",65+i-1);

printf("\n");

}

for(i=3;i>=1;i--)

{

for(j=1;j<=6-i;j++)putchar('');

for(j=1;j<=i*2-1;j++)

printf("%c",65+i-1);

printf("\n");

}

}

(7)

#include<>

main()

{

inta,b,c;

for(a=0;a<=20;a++)

for(b=0;b<=33;b++)

{

c=100-a-b;

if(a*5+b*3+c/==100)

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

}

}

(8)

#include<>

#include<>

main()

{

floatx,x0,a;

scanf("%f",&a);

x=a;

do{

x0=x;

x=2/*x0+a/(3*x0*x0);

}while(fabs(x-x0)>1e-6);

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

}

(9)

#include<>

#include<>

main()

{

floatpi,pi0;

inti=1

pi=2;

do{

pi0=pi;

pi=pi**i/*i-1))**i/*i+1));

i=i+1;

}while(fabs(pi-pi0)>1e-6);

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

}

(10)

#include<>

voidmain()

{inti,j,s;

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

{s=1;

for(j=2;j<=i/2;j++)

if(i%j==0)s+=j;

if(s==i)/*判断是否是合数*/

{printf("%d=1",i);/*打印输出合数及=1*/

for(j=2;j<=i/2;j++)/*打印输出各因子*/

if(i%j==0)printf("+%d",j);

printf("\n");

}

}

}

(11)

#include<>

#include<>

voidmain()

{

intx,y,z,k;

k=sqrt(2000);

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

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

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

if(x*x+y*y+z*z==2000)

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

}

第5章习题参考答案

1判断题

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

×

×

×

×

×

×

×

×

×

×

×

×

2填空题

(1)32

(2)4

(3)str1[7]='\0';

(4)for(i=1;i<=6;i++)gets(a[i]);

(5)strcpy(web,"");

(6)int*p=a;

(7)5

(8)1

(9)*(p+6)或*(s+6)

3选择题

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

B

C

B

A

B

C

B

A

C

D

B

D

B

A

D

4程序阅读题

(1)6

(2)str

(3)60

(4)bcdefga

cdefgab

defgabc

(5)a1e2

5程序填空题

(1)#include<>scanf("%f",&a[i])s=0;x=a[0]fabs(a[i]-s)

(2)scanf("%d",&n)a[i][i]=1a[i-1][j-1]printf("\n")

(3)b[i]!

='\0'strcpyputs(b)

(4)p=a[0];或p=&a[0][0];*p

六、编程题

1、使用数组和指针2种方法来处理。

方法一(使用数组)

#include<>

voidmain()

{inti=0,a[10],t;

printf("Enterthe10number=\n");

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

scanf("%d",&a[i]);

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

{t=a[i];a[i]=a[9-i];a[9-i]=t;}

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

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

printf("\n");

}

方法二(使用指针)

#include<>

voidmain()

{inti=0,a[10],t,*p,*q;

printf("Enterthe10number=\n");

for(p=a;p

scanf("%d",p);

p=a;

q=a+9;

for(;p

{t=*p;*p=*q;*q=t;}

for(p=a;p

printf("%d",*p);

printf("\n");

}

 

2、

#include<>

main()

{

inti,j,t,n,a[11]={0,1,2,3,4,5,6,7,8,9,10};

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

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

printf("\n");

printf("EntertheMoven=");

scanf("%d",&n);

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

{

t=a[10];

for(j=9;j>=0;j--)a[j+1]=a[j];

a[0]=t;

}

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

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

getch();

}

 

3、#include<>

#include<>

main()

{

inta[100],b[100],i,j,p,n=0,t;

randomize();

for(i=0;i<100;i++)

{

a[i]=random(100);

if(a[i]%2==0)b[n++]=a[i];

}

for(i=0;i

{

p=i;

for(j=i+1;j

if(b[j]>b[p])p=j;

t=b[p];b[p]=b[i];b[i]=t;

}

for(i=0;i

{

printf("%d",b[i]);

if(i%10==9)printf("\n");

}

getch();

}

4、

#include<>

#include<>

#defineN50

main()

{

inta[N],i,j,p,t;

randomize();

for(i=0;i

{

a[i]=random(100);

for(j=0;j

if(a[i]==a[j])

{i--;

break;

}

}

for(i=0;i

{

p=i;

for(j=i+1;j

if(a[j]>a[p])p=j;

t=a[p];a[p]=a[i];a[i]=t;

}

for(i=0;i

{

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

if(i%10==9)printf("\n");

}

}

4,

#include<>

#defineN10

voidmain()

{

inti;

floata[N],s=,x0=;

for(i=0;i

{scanf("%f",&a[i]);

x0+=a[i];

}

x0/=N;

for(i=0;i

s+=(a[i]-x0)*(a[i]-x0);

printf("%",s);

}

5,

#defineN4

#defineM3

voidmain()

{inti,j,sum,a[N][M+1],max,p;

printf("inputscore\n");

for(i=0;i

{sum=0;/*每位学生成绩输入前,其总成绩赋初值0*/

for(j=0;j

{scanf("%d",&a[i][j]);/*输入第i号学生第j门课程的成绩*/

sum=sum+a[i][j];/*累加求总成绩*/

}

a[i][M]=sum;/*求第i个学生的总成绩放到a[i][M]*/

}

max=a[0][M];

p=0;

for(i=1;i

if(a[i][M]>max)p=i;

printf("No.%dTotalscore:

%d\n",p+1,a[p][M]);

}

7、

#include<>

voidmain()

{

inta[5][6];

inti,j,mi,mj;

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

for(j=0;j<6;j++)

{

printf("inputa[%d][%d]:

",i,j);

scanf("%d",&a[i][j]);

}

mi=0;mj=0;

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

{

for(j=0;j<6;j++)

{

if(a[i][j]

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

}

printf("\n");

}

printf("min=%d",a[mi][mj]);

}

6,

#include<>

#include<>

voidmain()

{

floata[5][6];

inti,j,max;

printf("Enterarraya=\n");

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

for(j=0;j<6;j++)

scanf("%f",&a[i][j]);

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

{max=a[i][0];

for(j=0;j<6;j++)/*查找第i行中绝对值最大的元素*/

if(fabs(a[i][j])>fabs(max))max=a[i][j];

for(j=0;j<6;j++)/*第i行中所有元素除以绝对值最大的元素*/

{a[i][j]=a[i][j]/max;

printf("%",a[i][j]);

}

printf("-----max=%\n",max);

}

}

 

7,

#include<>

#include<>

#defineN20

main()

{

charstr[N][15],st[15],*p=st;

inti,j;

for(i=0;i

scanf("%s",str[i]);

for(i=0;i

for(j=0;j

if(strcmp(str[j],str[j+1])>0)

{

strcpy(p,str[j]);

strcpy(str[j],str[j+1]);

strcpy(str[j+1],p);

}

for(i=0;i

printf("%s\n",str[i]);

}

10、程序如下:

#include<>

main()

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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