二级c语言改错题

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:00:48
以下是我遇到的难题,应如何改正,请高手指点一下,我重重加分。
1. 程序Cmody071.c,已知三角形的2条边长,从键盘输入第3条边长,若他们能构成一个三角形,则求其面积;否则,提示出错信息。
#include <stdio.h>
#include <math.h>
void main()
{ float x=3, y=5, z,zc,mj;
printf("Please input the 3rd side: ");
scanf("%f",/**/ z /**/);
/**/ if( y+z>x|| x+z>y|| x+y>z ) /**/
{ zc = (x+y+z)/2;
mj = sqrt(zc*(zc-x)*(zc-y)*(zc-z));
printf("area is %.2f\n",mj);
}
else
printf("error.\n");
getch();
}

/**/ if( y+z>x|| x+z>y|| x+y>z ) /**/
要构成三角形,必须任意两边之和大于第三边,这个地方应该是与的关系而不是或。应该改成if( y+z>x&& x+z>y&& x+y>z )
scanf("%f",/**/ z /**/); 这个地方也赋值应该在z前面加上地址运算符&应该是scanf("%f",&z);

if( y+z>x&& x+z>y&& x+y>z )