#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,area;
scanf("%lf%lf%lf",&a,&b,&c);
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%lf\n",area);
return 0;
}
代码基本没有问题,只是没有输入校验而已。关键运行的时候你怎么输入的。
这是三角形面积的计算。
你的代码没有对输入进行正确性检验,没有初始化a、b、c的值,所以要求输入的必须满足下面三个条件否则结果将是错误的:
输入三个数
空格或回车分割
满足三角形的构成条件:任意两边之和大于第三边。
--------------------
比如下面的输入,只输入一个数字而输入两组字母,结果就是INDO