大连海事大学C语言课后习题14答案.docx
《大连海事大学C语言课后习题14答案.docx》由会员分享,可在线阅读,更多相关《大连海事大学C语言课后习题14答案.docx(16页珍藏版)》请在冰点文库上搜索。
大连海事大学C语言课后习题14答案
习题一
一、简答题
1.顺序结构、选择(分支)结构和循环结构。
2.
(1)
(2)
3.编辑、编译、连接和运行
二、填空题
1.
Ctrl+F9;Alt+F5;F2。
2.
main(主)
3.
main(主)
4.
任意
5.
/**/不
6.
;
7.原程序:
includestudio.h
main{}
/*thisprogramprintsthenumberofweeksinayear./*
(
ints
s:
=52;
print(Therearesweeksinayear");
改正程序:
#include
main()
/*thisprogramprintsthenumberofweeksinayear.*/
{
ints;
s=52;
printf("Thereare%dweeksinayear",s);
}
习题二
一、选择题
1、C2、B,D,F,G3、C4、A5、C6、B
二、填空题
1、声明;使用。
2、整型、浮点型(实型)、字符型。
3、hat_1,cat1,all,Dollar,piece_f,SIN,_ ,true,FALSE.
4、'A'(字符),005(整型八进制),3e0(实型),”a”(字符串),'\\'(字符),'\05'(字符),1.2e+5(实型),0xf12(整型十六进制)。
5、
(1)6+(4+5)*(4+5)/(2+3)
(2)sin(a+b)*sin(a+b)/(4*2)/(3*2)+2
三、读程题
1.若x为float型,其原值为5,a=2,b=4.7。
写出下列表达式运算后x的值。
(1)x=(int)(b-a)%3*a/4-a
(2)x=(x=b+1)+(int)(b)%10/2.0
(3)x+=x
(4)x-=x
(5)x*=x+x
(6)x/=x+x
(7)x+=x-=x*=x
(8)x%=x
(9)x=3*4,5*6
答案:
(1)-1.0,
(2)7.7,(3)10.,(4)0.,(5)50.,(6)0.5,(7)0.,(8)非法,(9)12.。
2.写出下面程序的运行结果。
#include
voidmain()
{
inta=2;
printf("abcdefghijk\n");
printf("lmnop/n");
printf("Iama/nbeginnerofC!
");
printf("Iama\nbeginnerofC!
");
printf("%d+%d=%d",a,a,a);
}
答案:
abcdefghijk
lmnop/nIama/nbeginnerofC!
Iama
beginnerofC!
2+2=2
习题三
一、选择题
1、D2、C3、A4、B5、D
二、简答题
1、P48
2、表达式语句后有“;“
3、P50
4、i=10,j=20
三、读程题
1、
56
56
67.856400,-789.124023
67.856400,-789.124023
67.86,-789.12,67.8564,-789.1240,67.856400,-789.124023
6.78564e+1,-7.9e+2
A,65,101,41
1234567,4553207,d687
65535,177777,ffff,-1
COMPUTER,COM
2、10,9
3、8,7,7,8
4、6,0,6
5、0
四、编程题
1、弧度换算成角度值(度、分、秒)
#include
voidmain()
{
floathu,t;
intdu,fen,miao;
scanf("%f",&hu);
t=hu*180/3.14159;
du=(int)t;
fen=(int)((t-du)*60);
miao=(int)(((t-du)*60-fen)*60);
printf("\n%f=%d\xf8%d\'%d\"\n",hu,du,fen,miao);
}
2、输出用getchar()输入的两个字符及其对应的ASCII码。
#include
voidmain()
{
charc1,c2;
c1=getchar();
c2=getchar();
printf("\n%c:
%d,%c:
%d\n",c1,c1,c2,c2);
}
3、输出一个小于10000的整数各位上的数字。
#include
voidmain()
{
intnum,w4,w3,w2,w1;
scanf("%d",&num);
w4=num/1000;
w3=(num-w4*1000)/100;
w2=(num-w4*1000-w3*100)/10;
w1=num%10;
printf("\n%d:
%d,%d,%d,%d\n",num,w4,w3,w2,w1);
}
4、反向输出一个3位正整数。
#include
voidmain()
{
intnum,w3,w2,w1;
scanf("%d",&num);
w3=num/100;
w2=(num-w3*100)/10;
w1=num%10;
printf("\n%d:
%d%d%d\n",num,w1,w2,w3);
}
5、十进制97转为八进制和十六进制。
#include
voidmain()
{
intnum=97,o1,o2,o3,x1,x2;
o1=num%8;o2=num/8%8;o3=num/8/8;
x1=num%16;x2=num/16;
printf("\n%d:
0%d%d%d,%d:
0x%d%d\n",num,o3,o2,o1,num,x2,x1);
}
6、将getchar()读入的两个字符分别用putchar()和printf()函数输出。
#include
voidmain()
{
charc1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
printf("\n%c,%c\n",c1,c2);
}
习题四
一、单选题
DDBCD,BDBDC,CCBAD
二、填空题
1、1,
2、K==0
3、A==b||a4、If(fabs(x)>4)printf(“%d”,x);elseprintf(“error!
”);
5、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&x%2!
=0)printf(“%d”,x);
6、k=1
7、$$$a=0
8、a=2,b=1
9、3
10、a>0且a
三、编程题
1、
#include
voidmain()
{
intyear;
printf("Pleaseinputayear:
");
scanf("%d",&year);
if(year%400==0||year%4==0&&year%100!
=0)
printf("%disaleapyear.\n",year);
else
printf("%disnotaleapyear.\n",year);
}
2、
(1)
#include
voidmain()
{
floatx,y;
printf("Pleaseinputx:
");
scanf("%f",&x);
if(x>-5&&x<0)y=x;
if(x==0)y=x-1;
if(x>0&&x<10)y=x+1;
printf("x=%f,y=%f\n",x,y);
}
(2)
#include
voidmain()
{
floatx,y;
printf("Pleaseinputx:
");
scanf("%f",&x);
if(x<0)
{if(x>-5)
y=x;}
else
{if(x==0)
y=x-1;
else
y=x+1;}
printf("x=%f,y=%f\n",x,y);
}
(3)
#include
voidmain()
{
floatx,y;
printf("Pleaseinputx:
");
scanf("%f",&x);
switch((int)x)
{case-4:
case-3:
case-2:
case-1:
y=x;break;
case0:
y=x-1;break;
case1:
case2:
case3:
case4:
case5:
case6:
case7:
case8:
case9:
y=x+1;}
printf("x=%f,y=%f\n",x,y);
}
3、
#include
voidmain()
{
inta,b,c;
printf("Pleaseinputa,b,c:
");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
if(a==b&&b==c)printf("equilateraltriangle\n");
elseif(a==b||b==c||c==a)printf("isocelestriangle\n");
elseprintf("commonlytriangle\n");
else
printf("non-triangle\n");
}
4、略
5、
#include
voidmain()
{intx,y;
Scanf(“%d”,&x);
If(x<20)
Y=1;
Else
Switch(x/10)
{case2:
y=2;break;
case3:
y=3;break;
case4:
y=4;break;
case5:
y=5;break;
default:
y=6;
}
Printf(“x=%d,y=%d”,x,y);
}
6、
#include
voidmain()
{floatm,n,s,c;
Printf(“Pleaseinputm:
”);
Scanf(“%f”,&m);
If(m<100)n=0;
Elseif(m<200)n=1.5;
Elseif(m<300)n=2.5;
Elseif(m<400)n=3.5;
Elseif(m<500)n=4.5;
Elseif(m<600)n=5.5;
Elsen=6;
S=m*(1-n/100);
C=m*n/100;
Printf(“m=%.2f,s=%.2f,c=%.2f\n”,m,s,c);
}
7、
#include
voidmain()
{intnum,w4,w3,w2,w1;
printf("Pleaseinputanumber:
");
scanf("%d",&num);
if(num>=10000||num<=0)
printf("%disoutofdata.\n");
else
{
w4=(num/1000+2)%10;
w3=(num%1000/100+2)%10;
w2=(num/10%10+2)%10;
w1=(num%1000+2)%10;
printf("Thecryptographis:
");
if(num>=1000)printf("%d%d%d%d\n",w4,w3,w2,w1);
elseif(num>=100)printf("%d%d%d\n",w3,w2,w1);
elseif(num>=10)printf("%d%d\n",w2,w1);
elseprintf("%d\n",w1);
}
}