[求助]程序哪编错了,请行家指点
#include <stdio.h>
#include <math.h>
main()
{
int i,j,k,m;
scanf("%d%d%d",&i,&j,&k);
m=(i+j+k)/2;
printf("%d\n",sqrt(m*(m-i)*(m-k)*(m-j)));
}
语法是对的,可我输入三个数的时候,输出是0,怎么回事?`
#include <stdio.h>
#include <math.h>
main()
{
int i,j,k,m;
scanf("%d%d%d",&i,&j,&k);
m=(i+j+k)/2;
printf("%d\n",sqrt(m*(m-i)*(m-k)*(m-j)));
}
语法是对的,可我输入三个数的时候,输出是0,怎么回事?`
2006-11-22 21:36
#include <stdio.h>
#include <math.h>
main()
{
int i,j,k,m;
scanf("%d%d%d",&i,&j,&k);
m=(i+j+k)/2;
printf("%d\n",sqrt(m*(m-i)*(m-k)*(m-j)));
}
语法是对的,可我输入三个数的时候,输出是0,怎么回事?`
要保证输入的三个数符合三角行三边关系.还有m不能是整型.假如m取整后和三边中有一相等,那就是0

2006-11-22 21:39
我输6,8,10都符合你的要求可输出是0
2006-11-22 21:48
2006-11-22 21:52
2006-11-22 22:00
2006-11-22 22:13

2006-11-22 22:22
2006-11-22 22:23
2006-11-22 22:34
2006-11-23 12:50