c/c++ 提示 DOMAIN错误 以及NAN

#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
怎么定义范围比较好?
如何简化?
在线等
大意了 计算没加括号

第1个回答  2009-04-09
scanf("%lf,%lf,%lf",&a,&b,&c); //是'%',不是'&'
第2个回答  2009-03-26
这里看看,joy.hn8868.com/thread.htm本回答被提问者采纳
第3个回答  2009-03-26
joy.hn8868.com/thread.htm

参考资料:joy.hn8868.com/thread.htm

第4个回答  2009-04-08
z

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网