30/09/2018, 19:17

[C program] Bài toán tam giác không có lỗi mà chạy không được trong codeblock

mọi người giúp em với ạ


Đề: NHập độ dài 3 cạnh tam giác
a. Ktra xem 3 cạnh có hợp thành tam giác không?
b. Ktra xem tam giác gì?

# (thăng) include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float a,b,c;
    printf ("hay nhap do dai canh cua tam giac: 
");
    scanf ("%f%f%f",a,b,c);
   if ((a+b)> c && (a+c)>b && (b+c)>a && a*b*c>0 ) printf ("3 canh nay lap thanh mot tam giac:");
   if (a==b && b==c) printf ("day la tam giac deu");
   else if (a==b || a==c || b==c) printf ("day la tam giac can");
   else if (a== sqrt(b*b+c*c)  || b== sqrt(a*a+c*c)  ||    c== sqrt(b*b+a*a)  ) printf ("day la tam giac vuong");
   else if ((a == sqrt(b*b+c*c) && b==c) || (b==sqrt(a*a+c*c) && a==c)||(c= sqrt(b*b+a*a) && b==a)) printf ("day la tam giac vuong can");
    else  printf ("day la tam giac thuong:");
    return 0;
}
Vu Van Chung viết 21:30 ngày 30/09/2018

Em phải để là scanf ("%f %f %f",&a,&b,&c); nhé.
Và thuật toán của em đang sai về logic đó. Khi anh nhập 4,5,9 thì kết quả trả về lại là tam giác thường

Gaevint viết 21:30 ngày 30/09/2018

4 5 9 là tam giác thường mà a?

Vu Van Chung viết 21:22 ngày 30/09/2018

Em xem lại bất đẳng thức tam giác nhé!!!

Nguyễn Hoàng Trung viết 21:34 ngày 30/09/2018

Tổng hai cạnh bất kỳ phải lớn hơn cạnh còn lại, nếu bằng thì nó là đường thẳng luôn ròi

Đăng Sách viết 21:27 ngày 30/09/2018

Xem lại điều kiện để tạo thành 1 tam giác đi nhé. sai rồi đấy. dùng || chứ ko nên dùng &&.
ví dụ tam giác có 3 cạnh là 1,2,3. coi xem

Bài liên quan
0