Kiểm tra 3 số có tạo thành một tam giác hay không?
Kiểm tra 3 số có tạo thành một tam giác hay không?
Nếu có thì đó là tam giác gì.
IDE: Dev C++: http://sourceforge.net/projects/orwelldevcpp/
Input: 3 số a,b,c kiểu int
Output: In ra kết quả loại tam giác.
Phân tích:
- Điều kiện tạo thành 1 tam giác khi tổng 2 cạnh lớn hơn hoặc bằng cạnh còn lại.
- Điều kiện tạo thành tam giác đều khi a = b = c
- Điều kiện tạo thành tam giác cân khi 2 cạnh bằng nhau
- Điều kiện tạo thành tam giác vuông cân khi cân và vuông tạo thành tam giác vuông.
- Điều kiện tạo thành tam giác vuông khi tổng bình phương 2 cạnh bằng bình phương cạnh còn lại.
- Ta xây dựng hàm kiểm tra tam giác vuông: checkRightTriangle.
- Ta xây dựng hàm kiểm tra loại tam giác: checkTriangle.
xét kiểu kiện như sau:
- Nếu không có khả năng tạo thành tam giác -> return;
- Nếu 3 cạnh bằng nhau -> tam giác đều, return.
- Nếu 2 cạnh bằng nhau:
+ Nếu vuông -> tam giác vuông cân, return.
+ Nếu không vuông -> Tam giác cân, return.
- Nếu vuông -> Tam giác vuông, return.
-> Tam giác thường
C
//////////////////////
C++
///////////////////////
Nếu có thì đó là tam giác gì.
IDE: Dev C++: http://sourceforge.net/projects/orwelldevcpp/
Input: 3 số a,b,c kiểu int
Output: In ra kết quả loại tam giác.
Phân tích:
- Điều kiện tạo thành 1 tam giác khi tổng 2 cạnh lớn hơn hoặc bằng cạnh còn lại.
- Điều kiện tạo thành tam giác đều khi a = b = c
- Điều kiện tạo thành tam giác cân khi 2 cạnh bằng nhau
- Điều kiện tạo thành tam giác vuông cân khi cân và vuông tạo thành tam giác vuông.
- Điều kiện tạo thành tam giác vuông khi tổng bình phương 2 cạnh bằng bình phương cạnh còn lại.
- Ta xây dựng hàm kiểm tra tam giác vuông: checkRightTriangle.
- Ta xây dựng hàm kiểm tra loại tam giác: checkTriangle.
xét kiểu kiện như sau:
- Nếu không có khả năng tạo thành tam giác -> return;
- Nếu 3 cạnh bằng nhau -> tam giác đều, return.
- Nếu 2 cạnh bằng nhau:
+ Nếu vuông -> tam giác vuông cân, return.
+ Nếu không vuông -> Tam giác cân, return.
- Nếu vuông -> Tam giác vuông, return.
-> Tam giác thường
C
//////////////////////
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include "stdio.h" int checkRightTriangle(int a, int b, int c) { int a1 = a * a; int b1 = b * b; int c1 = c * c; if(a1 + b1 == c1 || b1 + c1 == a1 || a1 + c1 == b1) return 1; return 0; } void checkTriangle(int a, int b, int c){ printf("Check tam giac : %d %d %d: ", a, b, c); if(a + b < c || a + c < b || b + c < a){ printf("Day khong phai tam giac\n"); return; } if(a == b && b == c){ printf("Day la tam giac deu \n"); return; } if(a == b || b == c || c == a){ if(checkRightTriangle(a, b, c)) printf("Day la tam giac vuong can\n"); else printf("Day la tam giac can\n"); return; } if(checkRightTriangle(a, b, c)) { printf("Day la tam giac vuong\n"); return; } printf("Day la tam giac thuong\n"); } int main(){ checkTriangle(3,1,1); checkTriangle(1,2,3); checkTriangle(3,4,5); checkTriangle(3,3,3); checkTriangle(5,5,8); checkTriangle(8,2,5); char t = 'Y'; int a, b, c; while(t == 'Y'){ printf("Moi ban nhap a b c: "); scanf("%d %d %d", &a,&b,&c); checkTriangle(a,b,c); printf("Ban muon thu lai khong? Y/N: "); scanf(" %c", &t); } getchar(); } |
///////////////////////
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <iostream> using namespace std; int checkRightTriangle(int a, int b, int c) { int a1 = a * a; int b1 = b * b; int c1 = c * c; if(a1 + b1 == c1 || b1 + c1 == a1 || a1 + c1 == b1) return 1; return 0; } void checkTriangle(int a, int b, int c) { cout << "Check Tam giac: " << a << " " << b << " " << c << ": "; if(a + b < c || a + c < b || b + c < a) { cout << "Day khong phai tam giac" << endl; return; } if(a == b && b == c) { cout << "Day la tam giac deu " << endl; return; } if(a == b || b == c || c == a) { if(checkRightTriangle(a, b, c)) cout << "Day la tam giac vuong can" << endl; else cout << "Day la tam giac can" << endl; return; } if(checkRightTriangle(a,b,c)) { cout << "Day la tam giac vuong" << endl; return; } cout << "Day la tam giac thuong" << endl; } int main() { checkTriangle(3,1,1); checkTriangle(1,2,3); checkTriangle(3,4,5); checkTriangle(3,3,3); checkTriangle(5,5,8); checkTriangle(8,2,5); char t = 'Y'; int a, b, c; while(t == 'Y') { cout << "Moi ban nhap a b c: "; cin >> a >> b >> c; checkTriangle(a,b,c); cout << "Ban muon thu lai khong? Y/N: "; cin >> t; } system("pause"); } |
Nhận xét
Đăng nhận xét