完整版全国计算机等级考试二级教程C语言程序设计课后习题答案文档格式.docx
《完整版全国计算机等级考试二级教程C语言程序设计课后习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《完整版全国计算机等级考试二级教程C语言程序设计课后习题答案文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
删除行尾的"
"
*要紧靠“/”,即应为“/*”和“*/
注释符号不可嵌套使用
main();
/*mainfunction*/删除"
)"
后的"
注释中的
函数开始处遗失了一个“{”
floatr,s;
/*/*risradius*/,/*sisareaofcircuilar*/*/
r=5.0;
s=3.14159*r*r;
printf("
%f\n"
s)行尾遗失了“;
”函数结束处遗失了一个“}”
2.29
main/*mainfunction*/main后遗失了“()”
{
floata,b,c,v;
/*a,b,caresides,visvolumeofcube*/a=2.0;
b=3.0;
c=4.0行尾遗失了“;
”
v=a*b*c;
v)行尾遗失了“;
}
第三章
一.选择题
3.1C3.2C3.3D3.4C3.5D3.6B3.7C3.8D3.9A3.10B
3.11C3.12D3.13D3.14A3.15C3.16C3.17C3.18无答案3.19C3.20B
二.填空题
3.21
(1)-2002500
(2)i=-200,j=2500
(3)i=-200
j=2500
3.221200
3.23一条语句;
3.24;
3.25100,25.81,1.8923410025.811.8923410025.811.89234
3.26x=127,x=127,x=177,x=7f,x=127
3.27x=127,x=127,x=$127,x=$000127,x=%06d
3.28a=513.789215,a=513.79,a=513.78921500,a=513.78921500
三.编程题和改错题
3.29修改后的程序如下:
main()
doublea,b,c,s,v;
printf("
inputa,b,c:
);
scanf("
%lf%lf%lf"
&
a,&
b,&
c);
s=a*b;
a=%f,b=%f,c=%f\n"
a,b,c);
s=%f,v=%f\n"
s,v);
3.30
#include
inta=560,b=60;
560minuteis%dhourand%dminute.\n"
a/b,a%b);
}
3.31
inta,b;
a=1500;
b=350;
adivbis:
%d\n"
a/b);
amodbis:
a%b);
3.32
#includemain(){doublea,b,c,ave;
printf("
input3doublenumber:
\n"
scanf("
%.1f\n"
(a+b+c)/3);
3.33
voidmain()
inta,b,c,t;
请依次输入整数a,b,c:
%d%d%d"
\n你输入的值是:
a=%d,b=%d,c=%d\n"
a,b,c);
t=b;
b=a;
a=c;
c=t;
交换之后的值是:
a=%d,b=%d,c=%d\n"
第四章
4.1A4.2A4.3A4.4D4.5C4.6A4.7B4.8C4.9D4.10C二.填空题
4.11非00
4.12<
>
=<
=同级==!
=同级
4.13!
&
&
||
4.15!
4.16a==b||a<
cx>
4||x<
-4
4.171
4.18x<
=01>
0
4.19322
4.20*#
三.编程题
4.21略
4.22
#include/*检查日期的合法性*/
intcheckdate(intyear,intmonth,intday)
if(year<
1900||year>
2005)
输入的年份无效!
\n"
return0;
elseif(month<
0&
month>
12)
输入的月份无效!
elseif(day<
=0&
day>
31)
输入的日期无效!
else
switch(month)
case4:
case6:
case9:
case11:
if(day>
30)
break;
case2:
if((year%4==0&
year%100!
=0)||year%400==0){
29)
28)
输入的出生日期无效!
return0;
}/*endofswitch(m0)*/
return1;
inty0,m0,d0;
/*生日*/
inty1,m1,d1;
/*当前日期*/
intyears,months,days;
/*实足年龄*/
请输入学生的生日:
&
y0,&
m0,&
d0);
if(checkdate(y0,m0,d0))
请输入当前日期:
y1,&
m1,&
d1);
/*当前日期合法性检查*/
if(!
checkdate(y1,m1,d1))
return;
elseif(y0>
y1)
出生年份比当前年份晚!
elseif(y0==y1)
if(m0>
m1)
出生年月比当前年月晚!
elseif(m0==m1)
if(d0>
d1)
出生年月日比当前年月日晚!
/*计算实足年龄*/years=y1-y0;
months=m1-m0;
days=d1-d0;
/*修正实足年龄天数*/if(days<
0)
{months--;
switch(m1)
case1:
case5:
case7:
case10:
case12:
days+=30;
break;
case4:
case6:
case8:
case9:
case11:
days+=31;
case3:
if((y1%4==0&
y1%100!
=0)||y1%400==0){
days+=29;
}else{days+=28;
}/*endofswitch(m1)*/
}/*endofif(days<
0)*/
/*修正实足年龄月数*/if(months<
months+=12;
years--;
}/*endofif(months<
0)*/printf("
出生日期:
%d年%d月%d日\n"
y0,m0,d0);
当前日期:
%d年%d月%d日\n"
y1,m1,d1);
实足年龄:
years,months,days);
4.23
inta;
请输入一个整数:
scanf("
%d"
a);
if(a%2==0)
%d是偶数\n"
a);
%d是奇数\n"
4.24
inta,b,c,temp,max;
请输入三个整数:
%d%d%d"
temp=(a>
b)?
a:
b;
max=(temp>
c)?
temp:
c;
%d.\n"
max);
你输入的数中最大的是}
4.25
(1)不嵌套的if语句
intx,y;
inputx:
x);
if(x>
-5&
x<
0)
yis%d\n"
y=x);
if(x==0)
y=x-1);
0&
10)
y=x+1);
=10||x<
=-5)
error\n"
(2)嵌套的if语句
print