如何得出正确答案,我也不知道错在哪

img


搞不懂,我也不知道这问题出在哪,似乎是有逗号和无逗号的问题,结果能算对

对,可能是你的逗号有问题,你要具体看你的输入,代码有逗号就输入必须要有逗号,如果还不对,你可以把float改为double,把精度提高

代码应该没有问题.是你输入的数据格式不对吧

注意 scanf("%f,%f,%f",&a,&b,&c);中"%f,%f,%f"用逗号分隔,在输入数值时也要用逗号分隔,如 2,3,4

另外你逗号可能写成了中文全角的,要用英文半角的。
如果结果还不对,把变量改成double类型,提高计算精度

#include <stdio.h>
#include <math.h>
void main()
{
    double a,b,c,s,area;  //最好放在第一行
    printf("a,b,c");
    scanf("%lf,%lf,%lf",&a,&b,&c);
    s=(a+b+c)/2;
    area=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("%.1lf\n", area);
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img