#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();
}
----------------解决方案--------------------------------------------------------