注册 登录
编程论坛 C语言论坛

新人自己编的,帮忙看看问题在哪,谢谢

不知其可 发布于 2020-02-01 15:43, 2516 次点击
题目是输入三角形三边,求得面积。
area=√s(s-a)(s-b)(s-c)
s=(a+b+c)/2

#include <stdio.h>

void main()
{
    double a,b,c,s,d;
    scanf("%lf,%lf,%lf\n",&a,&b,&c);
    s=1.0/2*(a+b+c);
    d=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("area=%f\n",d);
   
}
4 回复
#2
windsword02020-02-01 17:45
#include <stdio.h>
#include <math.h>
 int main()
{
    int a1,b,c;
    float sa,s1;
    scanf("%d%d%d",&a1,&b,&c);
    sa=(a1+b+c)/2;
    s1=sqrt(sa*(sa-a1)*(sa-b)*(sa-c));
    printf("area=%-10.2f\n",s1);
  }
#3
c小白23332020-02-01 17:49
程序代码:

#include <stdio.h>
#include <math.h>

void main()
{
    double a,b,c,s,d;
    scanf("%lf,%lf,%lf",&a,&b,&c);
    s=1.0/2*(a+b+c);
    d=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("area=%lf\n",d);
}
#4
鲸落南北2020-02-02 11:10
#include <stdio.h>
#include <math.h>

int main()
{
    double a,b,c,s,d;
    scanf("%lf%lf%lf",&a,&b,&c);
    if(a+b>c||a+c<b||b+c<a)
    {
        s=1.0/2*(a+b+c);
        d=sqrt(s*(s-a)*(s-b)*(s-c));
     }
   
    printf("area=%.2f\n",d);
}
scanf中%lf与%lf之间没有逗号,而且楼主没有告诉三角形三边的条件,所以就输不出来了
#5
不知其可2020-02-02 15:37
谢谢各位了
1