2016-10-26 181 views
-1

我有以下分配:需要幫助解決的任務

我們有四個邊的長度。你必須確定他們是否可以形成一個正方形。如果不是,則確定它們是否可以形成矩形。如果不是,確定他們是否能形成一個四邊形

提示

排序長度將會幫助我們,所以

If L1 == L2 && L2 == L3 && L3 == L4這將是方形

If L1 == L2 && L3 == L4這將是矩形

If L1 + L2 + L3 > L4這將是四邊形

如果它不是其中之一,我們將它稱爲香蕉

輸入:

的測試用例的數量,在與四個正整數,0和2^30的長度之間的線。

輸出:

一個四串:「正方形」,「矩形」,「四邊形」或「香蕉」。

採樣輸入

4 
10 8 7 6 
9 1 9 1 
29 29 29 29 
5 12 13 7 

樣本輸出

quadrangle 
rectangle 
square 

我不知道如何解決這個問題。這是我到目前爲止的代碼:

#include <iostream> 

using namespace std; 

int main() 
{ 
    int L1; int L2; int L3; int L4; 
    cin>>L1>>L2>>L3>>L4; 

    cout<<"Enter the 4 lengths"; 

    if(L1 == L2 && L2 == L3 && L3 == L4){ 
     cout<<"You have choosed the square"; 
    } 
    else if(L1 == L2 && L3 == L4|| L1==L3 && L2==L4){ 
     cout<<"You have choosed the rectangle"; 
    } 
    else if(L1 + L2 + L3 > L4){ 
     cout<<"You have choosed the quadrangle"; 
    } 
    else{ 
     cout<<"It's Baanana"; 
    } 
    return 0; 
} 
+1

你也注意到字提示「排序」,對不對? –

+0

排序問題可以幫助我解決這個問題嗎? –

+0

您沒有閱讀用戶的任何輸入。你不能排序你沒有的東西。 –

回答

0

你是不是 從用戶讀取任何輸入,更不用說 排序的輸入。此外,您還沒有遵循作業中提到的第一個要求,即(讀取測試用例的數量)。

嘗試更多的東西是這樣的:

#include <iostream> 
#include <algorithm> 

using namespace std; 

#define L1 Lengths[0] 
#define L2 Lengths[1] 
#define L3 Lengths[2] 
#define L4 Lengths[3] 

int main() 
{ 
    int NumTestCases, Lengths[4]; 

    cout << "How many test cases? "; 
    cin >> NumTestCases; 

    for(int i = 0; i < NumTestCases; ++i) 
    { 
     cout << "Enter 4 lengths: "; 
     cin >> L1 >> L2 >> L3 >> L4; 
     std::sort(Lengths, Lengths+4); 

     if ((L1 == L2) && (L2 == L3) && (L3 == L4)) { 
      cout << "square" << endl; 
     } 
     else if (((L1 == L2) && (L3 == L4)) || ((L1 == L3) && (L2 == L4))) { 
      cout << "rectangle" << endl; 
     } 
     else if ((L1 + L2 + L3) > L4) { 
      cout << "quadrangle" << endl; 
     } 
     else { 
      cout << "banana" << endl; 
     } 
    } 

    return 0; 
} 
+0

你是達王:D <3 –