#include<stdio.h>
#include<math.h>
int main(void)
{
double x1,x2,x3,y1,y2,y3,a,b,c,s,m,area;
printf("Enter x1,y1,x2,y2,x3,y3:");
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt((x1-x2)*(x1-x2)-(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)-(y1-y3)*(y1-y3));
c=sqrt((x2-x3)*(x2-x3)-(y2-y3)*(y2-y3));
if((a+b>c)&&(a+c>b)&&(b+c>a)){
m=a+b+c;
s=m/2;
area=sqrt(s*(s-b)*(s-a)*(s-c));
printf("m=%.2lf,area=%.2lf\n",m,area);
}
else
printf("impossible");
return 0;
}
#include<math.h>
int main(void)
{
double x1,x2,x3,y1,y2,y3,a,b,c,s,m,area;
printf("Enter x1,y1,x2,y2,x3,y3:");
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt((x1-x2)*(x1-x2)-(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)-(y1-y3)*(y1-y3));
c=sqrt((x2-x3)*(x2-x3)-(y2-y3)*(y2-y3));
if((a+b>c)&&(a+c>b)&&(b+c>a)){
m=a+b+c;
s=m/2;
area=sqrt(s*(s-b)*(s-a)*(s-c));
printf("m=%.2lf,area=%.2lf\n",m,area);
}
else
printf("impossible");
return 0;
}
这次的作业是在同学的帮助下完成的,感觉老师讲的时候都会但自己编程序的时候还是有很多错误,对程序语句的理解还不行,但总体来说整个框架已经理解,对语句中的地址符啊,单双浮点还是有模糊。