计算机语言程序设计清华大学出版社课后答案.docx
《计算机语言程序设计清华大学出版社课后答案.docx》由会员分享,可在线阅读,更多相关《计算机语言程序设计清华大学出版社课后答案.docx(34页珍藏版)》请在冰豆网上搜索。
计算机语言程序设计清华大学出版社课后答案
第1章习题答案
二、单项选择题
1.A2.A3.C4.B5.A6.B7.B8.A
三、填空题
1..C.CPP.OBJ.EXE2.主3.#include,usingnamespacestd,#include
4.顺序结构,选择结构,循环结构5.{,},函数说明,函数执行,不能省略,void
第2章习题答案
一、单项选择题
1.B2.B3.A4.B5.C6.A7.B8.C9.D10.D11.B12.A13.B14.C15.D
二、填空题
1.x>20&&X<30||X<-1002.x>y或a>b3.14.auto 、 register 、 static 和 extern
5.函数体内6.intfloatdouble7.218..是最右边表达式的值9.7
10.先使用后自增,先自增后使用11.右结合12.变量的数据类型、变量的存储类型、变量名
13.是否整除14.此之外全局变量,静态局部变量15.Count
三、写出程序运行结果
1、2,12、6,8,6,73、n=14、15、n=-46、x=3,a=2,b=37、0
8、i=6,d=129、2147483647,-2147364810、x=3,y=5
2、
#include
voidmain()
{
floatC,F;
scanf("%f",&F);
C=(F-32)*5.0/9;
printf("C=%.2f\n",C);
}
编程题
1、
#include
voidmain(){
charc1,c2,c3,c4,c5;
c1=getchar();
c2=getchar();
c3=getchar();
c4=getchar();
c5=getchar();
c1=c1+5;
c2=c2+5;
c3=c3+5;
c4=c4+5;
c5=c5+5;
printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
第3章习题答案
一、单项选择题
1.D2.B3.B4.C5.C6.D7.B8.B9.C10.A
二、写出程序运行结果
1.1202.s=633.01234theloopbreakout.4.freight=5880000
5.sum=1sum=3sum=9sum=33
3、程序填空
1.i++i<=102.i<100i%3!
=03.x!
=-1x2.
#include
main()
{
intx,y;
scanf("%d",&x);
if(x<0)
y=x;
else
if(x>=10)
y=3*x-11;
else
y=2*x-1;
printf("\nx=%d,y=%d\n",x,y);
}
四、编程题
1.#include
voidmain(){
charch1;
ch1=getchar();
if(ch1>'0'&&ch1<'9')
printf("这是一个阿拉伯数字,朋友再见!
\n");
else
printf("这不是一个阿拉伯数字,朋友再见!
\n");
}
3.
#include
main()
{
chargrade;
grade=getchar();
4.
#include
voidmain(){
charch1;
ch1=getchar();
if(ch1>'a'&&ch1<'z')
printf("这是一个英文大写字符,朋友再见!
\n");
elseif(ch1>'A'&&ch1<'Z')
printf("这是一个英文小写字符,朋友再见!
\n");
}
}
switch(grade)
{case'A':
printf(">=90");break;
case'B':
printf("80~89");break;
case'C':
printf("70~79");break;
case'D':
printf("60~69");break;
case'E':
printf("0~59");
}
}
6.#include
main()
{
inta,b,c,d,t;
5.
#include
voidmain()
{intn,a,b,c;
for(n=100;n<=999;n++){
a=n/100;
b=(n-a*100)/10;
c=n%10;
if(n==a*a*a+b*b*b+c*c*c)
printf("%d,",n);
}
}
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("\na=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=t;}
if(b>c)
{t=b;b=c;c=t;}
if(b>d)
{t=b;b=d;d=t;}
if(c>d)
{t=c;c=d;d=t;}
printf("%d,%d,%d,%d",a,b,c,d);
}
8.
#include
main()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=i+30;j++)printf("");//定打印*的位置,打在屏幕中央,从第31列开始
printf("*");
for(j=1;j<=2*(4-i);j++)printf("");//两个*间的空位数
printf("*");
printf("\n");
7.
#include
#include
main()
{
floate=1.0,t=1,n=1;
while(fabs(1/t)>1e-6)
{
e=e+1/t;
n=n+1;
t=t*n;
}
printf("e=%f\n",e);
}
}
}
9.
#include
main()
{inti,a,b,c,n=0;
for(i=100;i<=999;i++){
a=i%100;
c=i%10;
b=i-a*100-c;
if(i%11==0&&(a==b||b==c||c==a))
{printf("%d",i);n+=1;
}}
}
10.
#include
main(){
intd=0,a=2;
floatm,s=0;
do{
a=2*a;
m=0.8*a;
s=s+m;
d++;
}while(a<=100);
printf("%f\n",s/d);
}
第4章习题答案
一、选择题
1.A2。
D3。
A.4。
.B5。
A6.D7。
B8。
B9.。
B10.。
D
二、填空题
1.3 2.18 3.a[1][0] 4.98 5.6 6.ABCDE 7.12 8.2244,23
三、写出程序运行结果
1.19 2.852 3.10010 4.6521 5.-9是第6个元素
四、程序填空
1.&a[i] min=a[i]; 2.b[i]!
=’\0’a[i]i++ 3.s[i]!
=’\0’s[j]=s[i];s[j]
五、编程题答案
1.
#include"stdio.h"
#defineN10
main()
{floatscore[N],scoresum=0,averscore;
inti,belownum=0;
for(i=0;i{scanf(“%f”,&score[i]);
scoresum=scoresum+score[i];
}
averscore=scoresum/N;
printf("Theaveragescoreis%f",averscore);
for(i=0;iif(score[i]printf("Thereare%dstudentsbelowaveragescore.\n",belownum);
}
2.
#include"stdio.h"
main()
{intn1[10]={1,2,5,7,9,11,13,14,15,17},
n2[10]={0,3,4,6,8,10,12,15,16,20},
n3[20],i,j,t;
printf("Thearrayn1is:
\n");
for(i=0;i<10;i++)
printf("%d\t",n1[i]);
printf("\nThearrayn2is:
\n");
for(i=0;i<10;i++)
printf("%d\t",n2[i]);
i=0;j=0;t=0;
while(i<10&&j<10)
{if(n1[i]while(i<10)
{n3[t++]=n1[i++];}
while(j<10)
{n3[t++]=n2[j++];}
printf("\nThenthen3arrayis:
\n");
for(i=0;i<20;i++)
printf("%d\t",n3[i]);
}
3.#include"stdio.h"
main()
{intn20[20],i,sum,n;
floataver[5];
for(i=0;i<20;i++)n20[i]=2*i+2;
for(n=0;n<4;n++)
{sum=0;
for(i=n*5;i<5+n*5;i++)
sum=sum+n20[i];
aver[n]=sum/5;
}
printf("\nThen20arrayis:
\n");
for(i=0;i<20;i++)
printf("%d\t",n20[i]);
printf("\nTheaverarrayis:
\n");
for(n=0;n<4;n++)
printf("%f\t",aver[n]);
}
4.#include"stdio.h"
main()
{chara[30],b[30];
intla,lb;
printf("inputstringa:
");
gets(a);
printf("stringais%s\n",a);
printf("inputstringb:
");
gets(b);
printf("stringbis%s\n",b);
la=0;lb=0;
while(a[la]!
='\0')la++;
while(b[lb]!
='\0')lb++;
printf("\nla=%d\nlb=%d\n",la,lb);
lb=0;
while(b[lb]!
='\0'&&lb<5)a[la++]=b[lb++];
printf("\nthenstringais%s\n",a);
}
5.
#include"stdio.h"
main()
{charstr[50];
inti=0,up=0,down=0;
printf("inputastring:
");
gets(str);
printf("thestringis:
%s\n",str);
while(str[i]!
='\0')
{if(str[i]>=’A’&&str[i]<=’Z’)up++;
if(str[i]>=’a’&&str[i]<=’z’)down++;
i++;
}
printf("Capletter'numberis%d\nLowletter'numberis%d",up,down);
}
6.
#include"stdio.h"
main()
{charstr1[30],str2[30],test[30];
intl1,l2,i,t,pos=-1;
printf("inputstr1:
");
gets(str1);
printf("inputstr2:
");
gets(str2);
printf("\nstr1is:
%s\nstr2is:
%s",str1,str2);
l1=strlen(str1);l2=strlen(str2);
printf("\nl1is:
%d\nl2is:
%d\n",l1,l2);
for(t=0;t<=(l1-l2);t++)
{for(i=0;itest[i]=str1[i+t];
if(strcmp(test,str2)==0)
pos=t;
}
if(pos==-1||pos==l1)printf("Notfound\n");
elseprintf("Foundat%d\n",pos);
}
7.
#include"stdio.h"
main()
{inta[5][5]={{2,6,2,1,6},{0,5,0,1,8},{7,4,9,1,2},{9,4,2,6,5},{5,8,2,1,8}};
inti,j,sum;
printf("The5*5arrayis:
\n");
for(i=0;i<5;i++)
{for(j=0;j<5;j++)printf("%d",a[i][j]);
printf("\n");
}
sum=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i==0||i==4||j==0||j==4)sum+=a[i][j];
printf("\nThesumis:
%d",sum);
}
8.
#include"stdio.h"
main()
{inta[20][20];
inti,j;
for(i=0;i<20;i++)
for(j=0;j<20;j++)
{if(i==0||i==19||j==0||j==19||i==j||(i+j)==19)a[i][j]=1;
elsea[i][j]=0;
}
printf("Thearrayis:
\n");
for(i=0;i<20;i++)
{for(j=0;j<20;j++)printf("%d",a[i][j]);
printf("\n");
}
}
9.#include"stdio.h"
main()
{
inta[4][5]={{8,5,1,6,9},{8,5,5,4,3},{2,5,1,6,9},{1,7,1,9,0}},i,j,sum=0;
floataver;
printf("Thearrayis:
\n");
for(i=0;i<4;i++)
{for(j=0;j<5;j++){printf("%d",a[i][j]);sum+=a[i][j];}
printf("\n");
}
aver=sum/(4*5);
printf("Theaverageofthearrayis:
%f\nThenumberbelowisaboveaverage:
\n",aver);
for(i=0;i<4;i++)
for(j=0;j<5;j++)
if(a[i][j]>aver)printf("%d",a[i][j]);
}
10.
#include"Stdio.h"
main()
{charch[5]="****\n",blank='';
inti,num;
for(i=0;i<5;i++)
{for(num=0;num
printf("%s",ch);
}
}
第5章习题答案
一、选择题
1.C2。
B3.。
A4。
A5。
.B 6.D7。
A
二、填空题
1.Main 2.地址传递 3.2 4.Int 5.extern
三、运行结果
1.15 2.3025 3.817 4.136 5.修改一下:
去掉第一行:
inta=3; 246
四、程序填空
1.&x[i++] 2.X 3.kstrlen(str)-1(或sizeof(str)-2) 4.fac/i 5.a[i]==b[i]
1.#include
intmax(intx,inty,intz)
{intt;
if(x>y)
t=x;
elset=y;
if(telsereturnt;
}
main()
{inta,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("themaxis:
%d\n",max(a,b,c));
}
五、编程题
2.
#include
doubletri_area(floata,floatb,floatc)/*求三角形的面积*/
{
doubles;
s=(a+b+c)/2;
return(sqrt(s*(s-a)*(s-b)*(s-c)));
}
main()
{
floata,b,c,area;
printf("pleaseinputthesidesofatriangle:
");
scanf("%f%f%f",&a,&b,&c);
area=tri_area(a,b,c);
printf("theareais:
%6.2f",area);
}
3.
#include
#include
ascll_max()
{inti;
charmax,a[10]={0};
for(i=0;i<10;i++)scanf("%c",&a[i]);
for(i=0;i<10;i++)if(a[i]>max)max=a[i];
printf("%c",max);
}
main()
{ascll_max();
}
4.
#include
#include
#include
floatf()
{ints=1;
floati,n=1,d=0,m;
scanf("%f",&n);
for(i=1;ireturnd;
}
main()
{floats;
s=f();
printf(“%f\n”,s);
}
6.
5.#include
#include intrunnian(intb)
{intc;
if(b%100!
=0&&b%4==0||b%100==0&&b%400!
=0)c=1;
elsec=0;
return(c);
}
main()
{inta,is_not=10;
scanf("%d",&a);
is_not=runnian(a);
printf("%d",is_not);
}
#include"stdio.h"
main()
{charc1,c2,c3,c4;
printf("Input4characters:
");
c1=getchar();
c2=getchar();
c3=getchar();
c4=getchar();
s(4,c1,c2,c3,c4);
}
s(n,a,b,c,d)
intn;
chara,b,c,d;
{
switch(n)
{
case4:
s(3,a,b,c,d);
s(3,b,a,c,d);
7.#include
#include
voidconverse(charch[])
{inti=0;
gets(ch);
while(ch[i]!
='\0')
{if(ch[i]>='a'&&ch[i]<='z')ch[i]-=32;i++;}
}
main()
{charch[80];
converse(ch);
puts(ch);
}
s(3,c,a,b,d);
s(3,d,a,b,c);
break;
case3:
s(2,a,b,c,d);
s(2,a,c,b,d);
s(2,a,d,b,c);
break;
case2:
s(1,a,b,c,d);
s(1,a,b,d,c);
break;
case1:
printf("%c%c%c%c\n",a,b,c,d);
}
}
8.#include
#include
ou_shu(inta,intb)
{inti;
if(a>=b)
printf("请输入a,b使a,b满足a
for(i=a+1;i
{if(i%2==0)
printf("%d\n",i);}
}
main()
{inta,b;
scanf("%d,%d",&a,&b);
ou_shu(a,b);
}
9.#include
#include
dm(intn,intm)
{intp,r,temp;
if(n{temp=n;n=m;m=temp;}
p=m*n;
while(m!
=0)/*求最大公约数*/
{r=n%m;n=m;m=r;