萌新求问
我在判断是否为三角形,并输出面积,为什么我做不出来的呢?代码如下#include<stdio.h>#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int a,b,c,s,area;
printf("请输入3边的边长%d %d %d",a,b,c);
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2;
area=((float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("面积为%d",area);
}
else
{
printf("不能构成三角形。");
}
return 0;
} 你把area定义成double类型 本帖最后由 jackz007 于 2019-10-30 11:09 编辑
#include<stdio.h>
#include<math.h>
int main()
{
int a , b , c ;
double s , area ;
printf("请输入三边的边长:") ;
scanf("%d%d%d" , & a , & b , & c) ;
if(a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a) {
s = (a + b + c) / 2 ;
area = sqrt(s * (s - a) * (s - b) * (s - c)) ;
printf("面积为 : %.3lf" , area) ;
} else {
printf("不能构成三角形。") ;
}
}
页:
[1]