问题遇到的现象和发生背景
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=
s(s−a)(s−b)(s−c)
,其中s=(a+b+c)/2。
问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <math.h>
int fun(int a,int b,int c);
int main ()
{
double square=0,circle=0,p=0,j=0;
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(fun(a,b,c))
{
circle=(a+b+c)*1.0;
p=circle/2.0;
j=p*(p-a)*(p-b)*(p-c)*1.0;
square=sqrt(j);
printf("area = %.2f; perimeter = %.2f",&square,&circle);
}else printf("These sides do not correspond to a valid triangle");
return 0;
}
int fun(int a,int b,int c)
{
int i=0;
if(a<=b)
{
i=a;
a=b;
b=i;
}
if(a<=c)
{
i=a;
a=c;
c=i;
}
if(b<=c)
{
i=b;
b=c;
c=i;
}
if(b+c>a)return 1;
else return 0;
}
运行结果及报错内容
area = 0.00; perimeter = 0.00