C语言程序设计教程杨路明课后习题答案.docx

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

C语言程序设计教程杨路明课后习题答案.docx

《C语言程序设计教程杨路明课后习题答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程杨路明课后习题答案.docx(34页珍藏版)》请在冰点文库上搜索。

C语言程序设计教程杨路明课后习题答案.docx

C语言程序设计教程杨路明课后习题答案

  

C语言程序设计教程路明课后习题答案北京邮电大学出版社

第一章

1、算法描述主要是用两种基本方法:

第一是自然语言描述,第二是使用专用工具进行算法描述

2、c语言程序的结构如下:

①c语言程序由函数组成,每个程序必须具有一个main函数作为程序的主控函数。

②"/*"与"*/"之间的容构成c语言程序的注释部分。

③用预处理命令#include可以包含有关文件的信息。

④大小写字母在c语言中是有区别的。

⑤除main函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。

例如:

voidmain()

inta,b,c,s;

a=8;b=12;c=6;

s=ab*c;

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

3、c语言的特点:

①c语言具有结构语言的特点,程序之间很容易实现段的共享;

②c语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。

③c语言运算符丰富,运算包含的围很广;

④c语言数据类型丰富。

⑤c语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;

⑥c语言语法限制不太严格,程序设计自由度大,这样是c语言能够减少对程序员的束缚;

⑦用c语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;

4、合法标识符:

AB12、leed_3、EF3_3、_762、PAS、XYZ43K2

不合法标识符:

a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D

5、F2:

将当前编辑器中文件存盘

F10:

调用主菜单

F4:

程序运行到光标所在行

CtrlF9:

当前编辑环境下,进行编译、连接且运行程序;

AltF5:

将窗口切换到DOS下,查看程序运行结果

6、

(1):

********************

welcomeyou

verygood

********************

(2):

pleaseinputthreenumber;5,7,8

maxnumberis:

8

7、main

8、Userscreen、AltF5

9、标识符必须是字母或下划线开头,大小写字母含义不同。

由数字、字母和下划线组成;

关键字是一种语言中规定具有特定含义的标识符。

关键字不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。

10、选择主菜单File项下拉子菜单中Save项或直接按F2键存盘。

第二章

1、符合C语法规定的常数为:

0x1e、"ab"、1.e5

2、

(1):

错误如下:

intx,y=5,z=5,aver;

x=7;

aver=(xyx)/3;

结果如下:

AVER=5

(2):

错误如下:

charc1='a',c2='b',c3='c';

printf("a=?

=__end",a,b);

结果如下:

a=3b='A'"end"

aabccabc

3、

4、

(1):

9,11,9,10

(2):

3,1,0,0

(3):

11,19,31,1

5、

(1):

0

(2):

0

(3):

9.500000

(4):

90

(5):

10

(6):

10

(7):

65

(8):

4

(9):

4.500000

(10):

1

(11):

0

(12):

20

(13):

0

6、(5)

7、求x的绝对值

8、c>(max=a>b?

a:

b)?

c:

max;

9、B

10、D

第三章

1、输入函数scanf的参数错误,应该为:

scanf("%f",&k);

2、|12341234|

3、ff10

4、1,3,1

5、原字符串

左边加空格再加字符串本省,字符个数总和为5个

6、scanf("%d,%d,%c,%c",&a1,&a2,&c1,&c2);

7、printf("ab=%d",ab);

printf("a-b=%d",a-b);

printf("a*b=%d",a*b);

printf("a/b=%d",a/b);

printf("(float)a/b=%f",(float)a/b);

printf("a%b=%d",a%b);

8、voidmain()

floatr;

floats,c;

printf("pleaseinputthenumber:

");

scanf("%f",&r);

if(r>=0)

s=3.14*r*r;

c=2*3.14*r;

printf("s=%f,c=%f",s,c);

else

printf("youinputnumberiserror!

");

9、voidmain()

intn;

printf("pleaseinputthenumber:

");

scanf("%d",&n);

if(n>=100&&n

printf("%d%d%d",n_,(n/10)_,n/100);

else

printf("youinputnumberiserror!

");

10、voidmain()

inti,j,k;

scanf("%d,%d,%d",&i,&j,&k);

((i%2!

=0?

1:

0)(j%2!

=0?

1:

0)(k%2!

=0?

1:

0))==2?

printf("YES"):

printf("NO");

11、voidmain()

chara;

scanf("%c",&a);

printf("%c,%c,%c",a-1,a,a1);

printf("%d,%d,%d",a-1,a,a1);

12、voidmain()

floata,b,c,s,Area;

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

if(ab>c||ac>b||bc>a)

s=(abc)/2;

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

printf("%f",Area);

else

printf("youinputthenumberiserror!

");

第四章

1:

0

2:

20

3:

(x20)||(x

4:

***a=25,b=14,c=16***

5:

37

6:

if(a

elseprintf("2");

7、

#include

voidmain()

chara,b,t1,t2;

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

t1=a>b?

a:

b;

t2=a

if((t1-t2)%2==0)printf("%c,%c",a1,b1);

elseprintf("%c,%c",a-1,b-1);

getch();

8、

#include

voidmain()

inttemp1=0,temp2=0,x,y,i=1;

printf("Pleaseinput(x,y):

");

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

while((i*y)

if(x==(i*y))temp1=1;break;

temp2=i;

i;

if(temp1)

printf("%d/%d=%d",x,y,i);

else

printf("%d/%d--->shang=%d,yushu=%d",x,y,temp2,x-y*temp2);

getch();

9、

#include

voidmain()

floatx,y,m=0,n=0;

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

n=(x-2)*(x-2);

m=(y-2)*(y-2);

if((mn)

printf("(%.3f,%.3f)Intheyuan",x,y);

else

printf("(%.3f,%.3f)outoftheyuan",x,y);

getch();

10、

#include

voidmain()

inttemp=0,month,year;

printf("Pleaseinput(year,month):

");

scanf("%d,%d",&year,&month);

if((year@0==0)||(year%4==0&&year_0!

=0))

temp=1;

if(month==2)

if(temp)printf("%dyear%dmonthhave29",year,month);

elseprintf("%dyear%dmonthhave28",year,month);

elseif(month%2==0)

printf("%dyear%dmonthhave30",year,month);

elseprintf("%dyear%dmonthhave31",year,month);

getch();

11、

switch(a/10)

case5:

m=4;break;

case4:

m=3;break;

case3:

m=2;break;

case2:

m=1;break;

default:

m=5;

12、

方法一:

#include

voidmain()

intx,y;

scanf("%d",&x);

if(x-5)

y=x-1;

elseif(x==0)

y=x;

elseif(x>0&&x

y=x1;

printf("%d",y);

getch();

方法二:

#include

voidmain()

intx,y;

scanf("%d",&x);

if(x-5)

if(x==0)y=x;

elseif(x>0&&x

elsey=x-1;

printf("%d",y);

elseprintf("Inputerror!

!

!

");

getch();

方法三:

#include

voidmain()

intx,y,i;

scanf("%d",&x);

if(x-5)

if(x==0)i=1;

elseif(x>0&&x

elsei=3;

elsei=4;

switch(i)

case1:

y=x;printf("%d",y);break;

case2:

y=x1;printf("%d",y);break;

case3:

y=x-1;printf("%d",y);break;

case4:

printf("Inputerror!

!

");break;

getch();

第五章

1、voidmain()

intn,value;

inti,count=0;

floataverage=0;

longintsum=0;

scanf("%d",&n);

for(i=0;i

scanf("%d",&value);

if(value%2==0)

sum=value;

count;

average=sum/(float)count;

printf("theaverageis%f",average);

2、

#include"stdio.h"

voidmain()

charch;

intzm=0,sz=0;

ch=getchar();

while(ch!

='*')

if((ch>='A'&&ch='a'&&ch

zm;

if(ch>='0'&&ch

sz;

ch=getchar();

printf("zm=%d;sz=%d",zm,sz);

3、

voidmain()

longi_value;

intsum=0;

inttemp=0;

scanf("%ld",&i_value);

if(i_value

for(;;)

temp=i_value_;

i_value=i_value/10;

sum=temp;

printf("%d",temp);

if(i_value==0)break;

printf("=%d",sum);

4、

#include"stdio.h"

voidmain()

charch;

ch=getchar();

while(ch!

='.')

if((ch>='A'&&ch

ch=ch32;

putchar(ch);

elseif((ch>='a'&&ch

ch=ch-32;

putchar(ch);

else

putchar(ch);

ch=getchar();

printf("");

5、

voidmain()

floatsum=200;

intcount=0;

for(;;)

sum=sumsum*0.;

count;

if(sum>500)break;

printf("the%dyearslatercomplete!

",count);

6、

voidmain()

inti,temp=0,bit=0;

for(i=1;i

if(i%3==0)

temp=i;

for(;temp!

=0;)

bit=temp_;

if(bit==5)printf("%d,",i);break;

temp=temp/10;

printf("");

7、

#include

intmain(void)

intsteps=29,i=1;

while(steps%7)

steps=(30*i)-1;

printf("Totalsteps:

%d",steps);

return0;

8、

main()

inti,j,k,n;

printf("thenarcissusnumberis:

");

for(n=100;n

i=n/100;

j=n/10-i*10;

k=n_;

if(i*i*ij*j*jk*k*k==n)printf("%d",n);

9、

main()

floati,j,temp,n,sum;

intt;

i=2;j=1;sum=0;

scanf("%d",&t);

for(n=1;n

sum=sumi/j;

temp=i;i=ij;j=temp;

printf("2/13/25/38/513/8...=%f",sum);

10、

voidmain()

intnWidth,a,b;

scanf("%d",&nWidth);

for(a=(nWidth%2);a

for(b=0;b

charchOut='';

intnleft=(nWidth-a)/2;

intnright=(nWidtha)/2;

if(b>=nleft&&b

chOut='*';

printf("%c",chOut);

printf("");r

11、

voidmain()

inti=1,j=1;

for(i=1;i

for(j=1;j

printf("%d*%d=%d",i,j,i*j);

printf("")

12、

#include"stdio.h"

voidmain()

charc;

//count1是正数的个数

//count2是负数的个数

intcount1=0,count2=0;

//sum1是正数之和

//sum2是负数之和

intsum1=0,sum2=0;

intflage=0;

c=getchar();

while(c!

='*')

if(c=='-')flage=1;

if(flage==0)

sum1=(c-48);count1;

else

if(c!

='-')sum2-=(c-48);flage=0;count2;

c=getchar();

printf("%d,%d",count1,count2);

printf("%f,%f",sum1/count1,sum2/count2);

13、

voidmain()

inti,j;

ints=0;

for(i=100;i

s=0;

for(j=1;j

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

if(s==i)printf("]",i);

14、

#include

#include

voidmain()

intn;

longk=1;

floate=1;

n=1;

clrscr();

while(fabs(1.0/k)>=0.000001)

n;

e=e1.0/k;

k=k*n;

printf("%f",e);

15、

#include"math.h"

main()

floatx0,x1,x2,f0,f1,f2;

x1=-10;

f1=2*x1*x1*x1-4*x1*x13*x1;

x2=10;

f2=2*x2*x2*x2-4*x2*x23*x2;

do

x0=(x1x2)/2;

f0=2*x0*x0*x0-4*x0*x03*x0;

if((f0*f1)

x2=x0;f2=f0;

else

x1=x0;f1=f0;

while(fabs(f0)>1e-6);

printf("______2*x*x*x-4*x*x3*x=0______:

n");

printf("therootis%f",x0);

第六章

1、

#include

intdivisor(inta,intb)

intr;

while((r=a%b)!

=0)

a=b;

b=r;

returnb;

intmultiple(inta,intb)

intd;

d=divisor(a,b);

returna*b/d;

voidmain()

inta,b,c,d;

printf("intput(a,b):

");

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

c=divisor(a,b);

d=multiple(a,b);

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

2、

#include

voidtongji(chara[])

intb[3]=0,0,0,i=0;

while(a[i]!

='')

if((a[i]=65)||(a[i]=97))

b[0];

elseif(a[i]=48)

b[1];

else

b[2];

i;

printf("zimuhave:

%d;shuzihave:

%d;qitahave:

%d",b[0],b[1],b[2]);

getch();

voidmain()

chara[100];

printf("Pleaseinputastring:

");

gets(a);

tongji(a);

3、

#include

intflower(intn)

intx=0,i,j,k;

i=(n_);

j=(n/10_);

k=(n/100);

x=i*i*ij*j*jk*k*k;

if(x==n)return1;

elsereturn0;

voidmain()

inti,n;

printf("Pleaseintputn:

");

scanf("%d",&n);

if(n>999||n

else

for(i=100;i

if(flower(i))printf("%d",i);

getch();

4、

#include

#defineSWAP(a,b)t=b;b=a;a=t;

main()

floatx,y,t;

printf("Entertwonumber(x,y):

");

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

SWAP(x,y);

printf(":

x=%f,y=%f",x,y);

getch();

5、

#include

intfib(intn)

intp;

if(n==0)p=0;

elseif(n==1)p=1;

elsep=fib(n-1)fib(n-2);

returnp;

voidmain()

intn;

printf("Pleaseinputfib:

");

scanf("%d",&n);

printf("=%d",fib(n));

6、

#include

longfac(intn)

longf;

if(n==0)f=1;

elsef=n*fac(n-1);

returnf;

voidmain()

intm,n;

longf;

printf("Pleaseinput(m,n):

");

scanf("%ld,%ld",&m,&n);

f=fac(nm)fac(n);

printf("=%ld",f);

7、

#include

voidlist()

inti,j;

for(i=1;i

for(j=1;j

printf("%d*%d=%d",i,j,i*j);

printf("");

voidmain()

list();

8、

#include

inthe(intn)

inti,s=0;

for(i=1;i

if(n%i==0)s=i;

returns;

voidmain()

inti,j;

for(i=1;i

for(j=1;j

if((he(i)==j)&&(he(j)==i)&&(i!

=j))

printf("%d%d",i,j);

9、

#include

#definemax100

structwork

longsid;

charname[15];

worker[max];

intsize=0;

structwork*set_list()

do

printf("input(sid,name):

");

scanf("%ld,%s",&worker[size].sid,worker[size].name);

size;

while(worker[size-1].sid!

=0);

returnworker;

voidpaixu(structworka[])

inti,j,k;longt;charv[15];

for(i=0;i

k=i;

for(j=i;j

if(a[i].sid>a[j].sid)k=j;

if(k!

=i)

t=a[i].sid;a[i].sid=a[j].sid;a[j].sid=t;

strcpy(v,a[i].name);strcpy(a[i].name,a[j].name);strcpy(a[j].name

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

当前位置:首页 > 解决方案 > 学习计划

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

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