C语言课后答案文档格式.docx
- 文档编号:17752506
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:37
- 大小:24.40KB
C语言课后答案文档格式.docx
《C语言课后答案文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课后答案文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
第五个和第六个是合法的.
2.2
CBABDDDCB
2.3
(1).sqr(a*a+b*b)/(2*c)
(2).fabs((a+b)*(c+d)+2)
(3).(log(x)+sin(y))/2
(4).2*PI*r
/*其中PI是宏常量,即#definePI3.141592653*/
(5).1/(1+1/x)
(6).(sin(3.141592653/6)+2*exp(x))/(2*y+pow(y,x))
第三章:
3.1:
C语言语句分为四个类型:
控制语句;
表达语句;
复合语句;
空语句.
3.2:
CD
/*本小题答案感谢观海听涛的东东同学的提醒*/
3.3:
(1)地址前没有&
scanf("
%d,%d"
&
a,&
b);
(2)类型不匹配
%f"
f);
(3)类型不匹配
%lf%d"
var,&
a);
(4)地址前没有&
%d,%d\n"
(5)scanf不能限制精度
%5f"
f);
(6)scanf中不能有=
3.4:
(1)aabbccabc
(2)0
1
1
(3)68
(4)3.500000
(5)12
9
13
9
(6)12
3.5:
/*功能:
本程序从键盘接收三个参数,分别为三角形的三条边
输出三角形的面积
作者:
日期:
20070731
修改:
版本:
无*/
math.h>
intmain()
floata,b,c,s,area;
inputa,bandc:
\n"
);
reput:
/*提示输入三条边长度*/
%f%f%f"
b,&
c);
if(a+b<
c&
&
a-b<
c)
error!
reputplease:
/*如果不能组成三角形,则重新输入*/
goto
reput;
}
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
/*根据公式计算面积*/
theareais%f\n"
area);
return(0);
第四章:
4.1:
(1)见课本69页.
(2)见课本138页.
(3)见课本138页139页.
4.2:
(1)D
(2)B(3)D(4)D
/*第二小题改正感谢观海听涛的东东同学的提醒,
同学们做题要用眼镜,否则容易做错题,当然,这是我为自己找的一个借口*/
4.3:
(1)over!
(2)right
/*出题者希望答案是这个,不过,课本上这个程序不可能通过编译,因为没有包含头文件conio.h.即课本上的程序中并没有#include<
conio.h>
"
居然用了getchar,用个毛!
(冰雪封情语)*/
(3)答案同上,问题同上.
(4)这个我不说你也猜得到吧.
(5)abcdefg$abcdefg
abcdefg/*老实说,我对他们把conio.h这个头文件忘了非常气愤,建议读者看一下K&
RC.*/
(6)******
******
******
(7)*#*#*#$
4.4:
(1)(year%4==0&
year%100!
=0)||(year%400==0)
flag
(2)(ch>
=65&
ch<
=90)||(ch>
=95&
=124)
ch>
48&
58
ch==32
(3)fahr
celsius=5.0/9.0*(fahr-32)
fahr+=step
/*我又不得不多说几句了,这个程序很经典,我相信大伙以后还会看到的.只是课本上第十二行少了一个%,它是这么写的pirntf("
4.0f\t%6.1f\n"
fahr,celsius);
上面一个还漏了<
你用getchar,用个毛!
*/
4.5:
该程序判断输入的数字的奇偶性以及正负.
日期:
20070804
#include<
intmain(void)
ints;
pleaseinputthenumber:
%d"
s);
if(s>
0)
it'
sapositivenumber\n"
/*判断这个数字是不是大于零*/
elseif(s==0)
szero!
!
/*为零*/
else
s
anegetivenumber\n"
/*负数*/
if((int)fabs(s)%2)
/*用这个数的绝对值取模,如为1,则为奇数,否则为偶数*/
aoddnumber\n"
else
aevennumber\n"
getch();
4.6:
一个分段函数,根据X的值输出Y.
20070805
int
main(void)
intx;
floaty;
enterxplease!
scanf("
x);
if(x)
/*非零的X*/
if(x>
{
y=exp(-x);
printf("
yis%f\n"
y);
}
y=-(exp(x));
/*老实说,优先级我也搞不懂,还是加个括号比较保险*/
y=1;
return(0);
4.7:
判断输入的三条边能否组成三角形,并判断三角形的类型
inta,b,c;
entera,b,cplease:
%d%d%d"
if((a-b<
c)&
(a+b>
c))
if(a==b||b==c||c==a)
saisocelestriangle\n"
elseif(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
saright-angledtriangle\n"
sanormaltriangle\n"
theycann'
tmakeupofa
triangle\n"
}
4.8:
根据输入显示一句话
intmain(void)
intc;
*******Time*********\n1morning\n2afternoon\n3night\npleaseenter"
yourchoice:
/*这两句比较变态,建议不用*/
switch(c)
case1:
Goodmorning\n"
break;
case2:
Goodafternoon\n"
break;
case3:
Goodnight\n"
default:
Selectionerror!
4.9:
得到一个年份和一个月份,输出这个月有多少天
{
intyear,month,flag;
entertheyearandmonth\n"
%d%d"
year,&
month);
if((year%4==0&
=0)||(year%400==0))
flag=1;
flag=0;
themonthoftheyearhave"
switch(month)
31"
flag+28);
case4:
30"
case5:
/*这儿这么多,显然是麻烦了,你可以试试用几个for循环*/
case6:
case7:
case8:
case9:
case10:
case11:
case12:
days\n"
4.10:
计算从1加到101,其中每次加二
inti=101,sum=0;
while(i+1)
sum+=i;
/*这个题蛮有意思*/
i-=2;
thesumis%d"
sum);
return(0);
4.11:
计算从1到99的和,其中第一项是该数字和它后面两个数字的乘积
inti=99,sum=0;
while(i+1)
sum+=i*(i+1)*(i+2);
/*和上一题一样,没有什么可说的*/
4.12:
计算从1到10的阶乘的和
intfac(intx);
/*不好意思,这儿用了个函数(chapter5)*/
inti=4,sum=0;
while(i)
sum+=fac(i);
i--;
intfac(inti)
intfac=1;
fac*=i;
/*函数功能:
计算输入参数的阶乘*/
i--;
return(fac);
4.13:
不好说,假设N=2,A=3,它就会计算33+3,N=4,A=3,它会算3333+333+33+3
inta,n,sum=0,i=0;
enteraandnplease:
n);
while(n)
sum+=a*n*pow(10,i);
/*这句有些乱......*/
n-=1;
i+=1;
4.14:
计算PI的值
floatn=50,pi,sum=1;
/*可以将这一百个数分为50组,规律就出来了*/
while(n)
sum*=(2*n)*(2*n)/((2*n-1)*(2*n+1));
n-=1;
pi=sum+sum;
piis%f"
pi);
4.15:
计算共加了多少项才可以让最后一项小于0.00001
#define
mix
0.00001
intfac(intx);
intn=1;
while((float)1/fac(n)>
mix)
n=n+=1;
weaddit%dtimes\n"
n+2);
/*当它小于0.00001时,WHILE结束*/
/*此时应多加1,第一项为1,故加2*/
4.16:
相加直到加数的绝对值小于0.0001
20070806
#definemix0.0001
intsign=1,n=1;
floatsum=0,term=1;
while(fabs(term)>
n++;
sign=-sign;
sum+=term;
term=(float)sign/n;
thesumis%f"
4.17:
相加直到加数的绝对值小于0.00001
#definemix0.00001
floatx,term,sum=0;
intn=1;
enterxplease:
term=x;
termis%f\n"
term);
sum+=term;
term=-term*x*x/((n+1)*(n+2));
n+=2;
4.18:
打印所有水仙花数
20070807
inthigh,mid,low,n;
for(n=100;
n<
1000;
n++)
low=n%10;
mid=(n/10)%10;
/*除以10并以10取模,得十位数*/
high=n/100;
/*整数除,得百位数*/
if(n==low*low*low+high*high*high+mid*mid*mid)
theflowernumberis%d\n"
n);
4.19:
计算一个数字的各位之和
intnum,sum;
enterthenumberplease:
num);
num=fabs(num);
/*这儿破坏了原始数据*/
sum=num%10+(num/10)%10+(num/100)%10+num/1000;
4.20:
找出符合的最小数
for(x=1;
;
x++)
if(x%5==1&
x%6==5&
x%7==4&
x%11==10)
thenumberis%d"
x);
4.21:
计算符合题目的台阶数
x<
10000;
x++)/*也许你已经猜出来了,这个题目并不只有一个答案,我的*/
/*意见,可以看一下世界
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课后 答案