C语言程序设计教程习题答案.docx

上传人:b****5 文档编号:3565229 上传时间:2022-11-23 格式:DOCX 页数:64 大小:33.89KB
下载 相关 举报
C语言程序设计教程习题答案.docx_第1页
第1页 / 共64页
C语言程序设计教程习题答案.docx_第2页
第2页 / 共64页
C语言程序设计教程习题答案.docx_第3页
第3页 / 共64页
C语言程序设计教程习题答案.docx_第4页
第4页 / 共64页
C语言程序设计教程习题答案.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

C语言程序设计教程习题答案.docx

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

C语言程序设计教程习题答案.docx

C语言程序设计教程习题答案

查看文章

《C语言程序设计教程》习题答案A2009年04月21日星期二07:

40

/*答案仅供参考*/如有任何疑问请留言,并尽我最大能力尽快解决

第一章

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

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

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

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

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

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

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

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

例如:

voidmain()

{

inta,b,c,s;

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

s=a+b*c;

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

}

3、c语言的特点:

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

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

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

4、c语言数据类型丰富。

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

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

7、用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:

程序运行到光标所在行

Ctrl+F9:

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

Alt+F5:

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

6、

(1):

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

welcomeyou

verygood

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

(2):

pleaseinputthreenumber;5,7,8

maxnumberis:

8

7、main

8、Userscreen、Alt+F5

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

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

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

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

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

/*答案仅供参考*/如有任何疑问请留言,并尽我最大能力尽快解决

第二章

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

0x1e、"ab\n"、1.e5

2、

(1):

错误如下:

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

x=7;

aver=(x+y+x)/3;

结果如下:

AVER=5

(2):

错误如下:

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

printf("a=%db=\'%c\'\"end\"\n",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.

(4):

90

(5):

10

(6):

10

(7):

65

(8):

4

(9):

4.

(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("a+b=%d\n",a+b);

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

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

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

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

printf("a%b=%d\n",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\n",s,c);

}

else

printf("youinputnumberiserror!

");

}

9、voidmain()

{

intn;

printf("pleaseinputthenumber:

");

scanf("%d",&n);

if(n>=100&&n<=999)

printf("%d%d%d",n%10,(n/10)%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\n"):

printf("NO\n");

}

11、voidmain()

{

chara;

scanf("%c",&a);

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

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

}

12、voidmain()

{

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("%f\n",Area);

}

else

printf("youinputthenumberiserror!

\n");

}

/*答案仅供参考*/如有任何疑问请留言,并尽我最大能力尽快解决

第四章

1:

0

2:

20

3:

(x<30&&x>20)||(x<-100)

4:

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

5:

37

6:

if(a<=b)printf("1");

elseprintf("2");

7、

#include

voidmain()

{chara,b,t1,t2;

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

t1=a>b?

a:

b;

t2=a

a:

b;

if((t1-t2)%2==0)printf("%c,%c",a+1,b+1);

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)<=x)

{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((m+n)<=1)

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%400==0)||(year%4==0&&year%100!

=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<0&&x>-5)

y=x-1;

elseif(x==0)

y=x;

elseif(x>0&&x<8)

y=x+1;

printf("%d",y);

getch();

}

方法二:

#include

voidmain()

{intx,y;

scanf("%d",&x);

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

{if(x==0)y=x;

elseif(x>0&&x<8)y=y=x+1;

elsey=x-1;

printf("%d",y);

}

elseprintf("Inputerror!

!

!

");

getch();

}

方法三:

#include

voidmain()

{intx,y,i;

scanf("%d",&x);

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

{if(x==0)i=1;

elseif(x>0&&x<8)i=2;

elsei=3;

}

elsei=4;

switch(i)

{case1:

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

case2:

y=x+1;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\n",average);

}

2、

#include"stdio.h"

voidmain()

{

charch;

intzm=0,sz=0;

ch=getchar();

while(ch!

='*')

{

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

zm++;

if(ch>='0'&&ch<='9')

sz++;

ch=getchar();

}

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

}

3、

voidmain()

{

longi_value;

intsum=0;

inttemp=0;

scanf("%ld",&i_value);

if(i_value<0){printf("youinputtheintiserror!

\n");return;}

for(;;)

{

temp=i_value%10;

i_value=i_value/10;

sum+=temp;

printf("%d+",temp);

if(i_value==0)break;

}

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

}

4、

#include"stdio.h"

voidmain()

{

charch;

ch=getchar();

while(ch!

='.')

{

if((ch>='A'&&ch<='Z'))

{

ch=ch+32;

putchar(ch);

}

elseif((ch>='a'&&ch<'z'))

{

ch=ch-32;

putchar(ch);

}

else

{

putchar(ch);

}

ch=getchar();

}

printf("\n");

}

5、

voidmain()

{

floatsum=200;

intcount=0;

for(;;)

{

sum=sum+sum*0.045;

count++;

if(sum>500)break;

}

printf("the%dyearslatercomplete!

\n",count);

}

6、

voidmain()

{

inti,temp=0,bit=0;

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

{

if(i%3==0)

{

temp=i;

for(;temp!

=0;)

{

bit=temp%10;

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

temp=temp/10;

}

}

}

printf("\b\n");

}

7、

#include

intmain(void)

{

intsteps=29,i=1;

while(steps%7)

{

steps=(30*++i)-1;

}

printf("Totalsteps:

%d\n",steps);

return0;

}

8、

main()

{

inti,j,k,n;

printf("thenarcissusnumberis:

\n");

for(n=100;n<1000;n++)

{i=n/100;

j=n/10-i*10;

k=n%10;

if(i*i*i+j*j*j+k*k*k==n)printf("%d\n",n);

}

}

9、

main()

{floati,j,temp,n,sum;

intt;

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

scanf("%d",&t);

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

{sum=sum+i/j;

temp=i;i=i+j;j=temp;

}

printf("2/1+3/2+5/3+8/5+13/8+...=%f\n",sum);

}

10、

voidmain()

{

intnWidth,a,b;

scanf("%d",&nWidth);

for(a=(nWidth%2);a<=nWidth;a+=2)

{

for(b=0;b

{

charchOut='';

intnleft=(nWidth-a)/2;

intnright=(nWidth+a)/2;

if(b>=nleft&&b

{

chOut='*';

}

printf("%c",chOut);

}

printf("\n");

}

}

11、

voidmain()

{

inti=1,j=1;

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

{

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

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

printf("\n")

}

}

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\n",count1,count2);

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

}

13、

voidmain()

{

inti,j;

ints=0;

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

{

s=0;

for(j=1;j

{

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

}

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

}

}

14、

#include

#include

voidmain()

{

intn;

longk=1;

floate=1;

n=1;

clrscr();

while(fabs(1.0/k)>=0.)

{

n++;

e=e+1.0/k;

k=k*n;

}

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

}

15、

#include"math.h"

main()

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

x1=-10;

f1=2*x1*x1*x1-4*x1*x1+3*x1;

x2=10;

f2=2*x2*x2*x2-4*x2*x2+3*x2;

do

{x0=(x1+x2)/2;

f0=2*x0*x0*x0-4*x0*x0+3*x0;

if((f0*f1)<0)

{x2=x0;f2=f0;}

else

{x1=x0;f1=f0;}

}

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

printf("______2*x*x*x-4*x*x+3*x=0______\n");

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

}

/*答案仅供参考*/如有任何疑问请留言,并尽我最大能力尽快解决

《C语言程序设计教程》习题答案B

2009年04月21日星期二07:

47

/*答案仅供参考*/如有任何疑问请留言,并尽我最大能力尽快解决

第六章

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("\ndivisor=%d\t\tmultiple=%d",c,d);

}

2、

#include

voidtongji(chara[])

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

while(a[i]!

='\0')

{if((a[i]<=90&&a[i]>=65)||(a[i]<=122&&a[i]>=97))

b[0]++;

elseif(a[i]<=57&&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%10);

j=(n/10%10);

k=(n/100);

x=i*i*i+j*j*j+k*k*k;

if(x==n)return1;

elsereturn0;

}

voidmain()

{inti,n;

printf("Pleaseintput

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

当前位置:首页 > 小学教育 > 小升初

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

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