当前位置: 代码迷 >> C语言 >> [求助]求三角形面积的,不知道错在哪。
  详细解决方案

[求助]求三角形面积的,不知道错在哪。

热度:142   发布时间:2007-11-10 17:17:41.0
[求助]求三角形面积的,不知道错在哪。

#include <stdio.h>
#include <math.h>
#define S(x,y,z) (a+b+c)/2
#define A(x,y,z) sqrt(S(x,y,z)*(S(x,y,z)-x)*(S(x,y,z)-y)*(S(x,y,z)-z))

int main()
{
double a,b,c;
do
{
printf("Input a、b、c:\n");
scanf("%f %f %f",&a,&b,&c);
}while((a+b)<c||(a+c)<b||(b+c)<a);
printf("%.2f\n",A(a,b,c));
}

总是结束不了循环

搜索更多相关的解决方案: 三角形  面积  

----------------解决方案--------------------------------------------------------
把%f都改成%lf就对了。
记得以后float用f;
double用lf;
long louble用Lf。
----------------解决方案--------------------------------------------------------

果然是,谢谢gbgame了。


----------------解决方案--------------------------------------------------------
学习一下,呵呵
知道了float用%f
double用%1f
呵呵

----------------解决方案--------------------------------------------------------
看不懂啊~
----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <math.h>
#define S(x,y,z) (a+b+c)/2
#define A(x,y,z) sqrt(S(x,y,z)*(S(x,y,z)-x)*(S(x,y,z)-y)*(S(x,y,z)-z))
#include <conio.h>

int main()
{
double a,b,c;
do
{
printf("Input a、b、c:\n");
scanf("%lf %lf %lf",&a,&b,&c);
}while((a+b)<c||(a+c)<b||(b+c)<a);
printf("%.2lf\n",A(a,b,c));
getch();
}


----------------解决方案--------------------------------------------------------
  相关解决方案