01/10/2018, 16:00

Vì sao trong đoạn dưới dây diện tích in ra lại bằng 0

void nhap(int a,int b,int c);
void kt(int,int,int);
int tdt(int,int,int);
int main ()
{
int x,y,z;
nhap(x,y,z);
kt(x,y,z);
printf(“dien tich tam giac la:%f”,tdt(x,y,z));
getch();
}
void nhap(int a,int b, int c)
{
printf(“nhap vao 3 canh a,b va c la: “);
scanf(”%d%d%d”,&a,&b,&c);
}
void kt(int a,int b, int c)
{
if(a+b>c&&a+c>b&&b+c>a)
printf(“day la 3 canh 1 tam giac”);
else(“day k la 1 tam giac”);
}
int tdt(int a,int b,int c)
{
float p,s;
p=(a+b+c)/2;
return (sqrt(p*(p-a)(p-b)(p-c)));
}

Hà Hải Nam viết 18:05 ngày 01/10/2018

Bạn trình bày lại code đi nhé. Học cách sử dụng Markdown ở đây: https://en.wikipedia.org/wiki/Markdown

Khắc Dũng viết 18:09 ngày 01/10/2018

vâng để e tìm hiểu e sửa lại ạ

Aster-Dynos viết 18:11 ngày 01/10/2018

cái function parameter của bạn

gpt(int a, int b, int c)

đều là int hết thì ra 0 là phải rồi ( (-c)/b --> 0 , (-b)/(2*a) --> 0 , etc… )

bạn đổi qua

gpt(float a, float b, float c)

rồi test lại thử coi.

Thái Hữu viết 18:00 ngày 01/10/2018

Các hàm con đều truyền vào tham trị nên giá trị đều là 0.

Bài liên quan
0