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)));
}
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
vâng để e tìm hiểu e sửa lại ạ
cái function parameter của bạn
đề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
rồi test lại thử coi.
Các hàm con đều truyền vào tham trị nên giá trị đều là 0.