#include <stdio.h>
#include <math.h>
FILE* richtig;
FILE* falsch ;
main (void)
{
double a,b,c,f,g,h,x,y,z,u,v,w;
richtig =fopen("D:\\1.txt","a");
falsch =fopen("D:\\2.txt","a");
printf("\nGeben Sie bitte einen Wert fuer a ein:");
scanf("%lf",&a);
printf("Geben Sie bitte einen Wert fuer b ein:");
scanf("%lf",&b);
printf("Geben Sie bitte einen Wert fuer c ein:");
scanf("%lf",&c);
h=a+c;
printf("a+c ist :%lf",h);
f=b+c ;
printf(" b+c ist :%lf" ,f) ;
g=a+b ;
printf(" b+a ist:%lf",g);
{
if (h>b&&g>c&&f>a)
{
const double pi=3.14;
x=(b*b+c*c-a*a)/2*b*c;
y=(a*a+b*b-c*c)/2*a*b;
z=(a*a+c*c-b*b)/2*a*c;
u=acos(x)*180/pi;
v=acos(y)*180/pi;;
w=acos(z)*180/pi;;
printf("\nEs kann ein Dreieckerzeugen");
printf("\nu ist:%lf",u);
printf("\nw ist:%lf",v);
printf("\nv ist:%lf",w);
fprintf(richtig,"\nEs kann ein Dreieckerzeugen bei %lf %lf %lf",a,b,c);
fprintf(richtig,"\nDrei Eck sind: %lf %lf %lf",u,v,w);
}
else
{printf("\nes kann nicht");
fprintf(falsch,"\nEs kann nicht bei %lf%lf %lf",a,b,c) ;}
fclose(richtig);
fclose(falsch);}
getch();
return 0 ;
}
我要做的编程是输入3个边的长度 判断能不能构成三角形,能的话,计算出3个角的大小,然后写入1 文本文档,如果不能,则写入2 文本文档.
问题是 提示ACOS DOMAIN错误以及NAN
怎么定义范围比较好?
如何简化?
在线等
大意了 计算没加括号
参考资料:joy.hn8868.com/thread.htm