c语言第四章练习题答案.pdf
习题四
4.5编程判断输入整数的正负性和奇偶性。流程图如图4-1。
#includestdio.h
main()
{
intm;
scanf(%d,m);/*输入一个整*/
if(m=0)/*是否为正*/
{
if(m%2==0)/*是正数,且能被2整除,是正偶*/
{
printf(%disapositiveeven\n,m);
}
else/*不能被2整除,是正奇*/
{
printf(%disapositiveodd\n,m);
}
}/*if(m=0)结束*/
else
{
if(m%2==0)
{
printf(%disanegativeeven\n,m);/*是负偶*/
}
else
{
printf(%disanegativeodd\n,m);/*是负奇*/
}
}
}
程序运行结果如下:
第一次运行:
6↙
6isapositiveeven
第二次运行:
-7↙
6isanegativeodd
exx0
4.6编程计算分段函数:y1x0,输入x,打印出y值。流程图如图4-2。
exx0
#includestdio.h
#includemath.h
main()
{
intx;
doubley;
scanf(%d,x);/*输入一个整*/
if(x0)
{
y=exp(-x);/*如果大于0,计算y=exp(-x)的值*/
}
elseif(x==0)
{
y=1;/*x=0,则y=1*/
}
else
{
y=-exp(x);/*x0,则y=-exp(x)*/
`}
printf(y=%f\n,y);
}
程序运行结果如下:
第一次运行:
4↙
y=0.018316
第二次运行:
0↙
y=1.000000
第三次运行:
-4↙
y=-0.018316
4.7输入三角形的三条边a,b,c,判断它们能否构成三角形,若能则指出是何种三角形:等
腰三角形、直角三角形、一般三角形。流程图如图4-3。
#includestdio.h
#includemath.h
#defineLIMIT1e-6
main()
{
floata,b,c;
intflag=1;
scanf(%f,%f,%f,a,b,c);/*输入三角形的三条边*/
if((a+b)c
((b+c)a)
((a+c)b))