---
# System prepended metadata

title: 無懈可擊的吉他社

---

###### tags:無懈可擊的吉他社

無懈可擊的吉他社
===
G3 / S2A / 21林恩珮 24席‧督菲蘭 32蔡孟潔

問題描述
---
嘟嘟、珮珮、孟孟三人，依歌唱音準、吉他技巧、學習能力三項分數，找出三數和中最高值為社長，次高值為副社長。

輸入格式
---
(預設值)
嘟嘟 9 8 7
珮珮 7 6 5
孟孟 4 7 9

輸出格式
---
社長為嘟嘟 能力值為24
副社長為孟孟 能力值為20

範例
---
https://replit.com/@1100519/gt#main.cpp
輸入範例 1 (其中一人之和最大）|輸出範例 1 (其中一人之和最大）
 --- | --- 
int du[] = {10, 10, 10};
int pei[] = {5, 9, 8};|社長為嘟嘟 能力值為30。
int meng[] = {6, 7, 8};


輸入範例 2（三人之和相等）|輸出範例 2（三人之和相等）
---- | ---- 
int du[] = {8, 10, 5};
int pei[] = {6, 9, 8};|嘟嘟、珮珮和孟孟的能力值相等，無法比較。
int meng[] = {7, 7, 9};

輸入範例 3（任一兩人之和相等）|輸出範例 3（任一兩人之和相等）
---- | ---- 
int du[] = {8, 10, 5};
int pei[] = {6, 9, 6};|珮珮和孟孟的能力值相等，無法選出。
int meng[] = {7, 8, 6};


程式內容
---
```
#include <iostream>
using namespace std;

int main() 
{
  // 嘟嘟、珮珮和孟孟的能力值，分別是唱歌音準、吉他技巧及學習能力。
  int du[] = {0, 0, 0};
  int pei[] = {0, 1, 0};
  int meng[] = {0, 0, 0};

  int z=0;

  // 計算每個人的總分
  int duScore = du[0] + du[1] + du[2];
  int peiScore = pei[0] + pei[1] + pei[2];
  int mengScore = meng[0] + meng[1] + meng[2];

  // 比較分數找出最高和次高的人作為社長和副社長(president、vicepresident)
  string p, vp;

  if ((duScore == peiScore && duScore > mengScore)||(duScore == mengScore && duScore > peiScore)||(peiScore == mengScore && peiScore > duScore))
  {
    cout << "有兩人同高分無法選出" << endl;
    return 0; // 結束程式
  }
    // 如果嘟嘟的值大於珮珮也大於孟孟
    else if (duScore > peiScore && duScore > mengScore) 
    {
      p = "嘟嘟"; // 社長就是嘟嘟
    cout << "社長為" << p << " 能力值為" << duScore << endl; // 輸出嘟嘟為社長及其能力值
      
      if (peiScore > mengScore) // (找副社長)如果珮珮的值大於孟孟
      { 
          vp = "珮珮"; // 副社長就是珮珮
        cout << "副社長為" << vp <<" 能力值為" << peiScore << endl; // 輸出珮珮為副社長及其能力值
      }
        else if (mengScore > peiScore) // (找副社長)如果孟孟的值大於珮珮
        {
            vp = "孟孟"; // 副社長就是孟孟
          cout << "副社長為" << vp <<" 能力值為" << mengScore << endl; // 輸出孟孟為副社長及其能力值
        }
    
        else // (找副社長)如果珮珮的值等於孟孟
        {
            cout << "珮珮和孟孟的能力值相等，無法選出副社長。" << endl;
        } 
      
      return 0; // 結束程式
       
  }
    // 如果珮珮的值大於嘟嘟也大於孟孟
    else if (peiScore > duScore && peiScore > mengScore) 
    { 
        p = "珮珮"; //社長就是珮珮
      cout << "社長為" << p <<" 能力值為" << peiScore << endl; // 輸出珮珮為社長及其能力值
        
        if (duScore > mengScore) // (找副社長)如果嘟嘟的值大於孟孟
        {
              vp = "嘟嘟"; // 副社長就是嘟嘟
          cout << "副社長為" << vp <<" 能力值為" << duScore << endl; // 輸出嘟嘟為副社長及其能力值
        } 
          
          else if (mengScore > duScore) // (找副社長)如果孟孟的值大於嘟嘟
          {
              vp = "孟孟"; // 副社長就是孟孟
            cout << "副社長為" << vp <<" 能力值為" << mengScore << endl; // 輸出孟孟為副社長及其能力值
          }

          else // (找副社長)如果嘟嘟的值等於孟孟
          {
            cout << "嘟嘟和孟孟的能力值相等，無法選出副社長。" << endl;
          } 
      
      return 0; // 結束程式
      
    } 

    // 如果孟孟的值大於嘟嘟也大於珮珮
    else if (mengScore > duScore && mengScore > peiScore)
    {
        p = "孟孟"; // 社長就是孟孟
      cout << "社長為" << p <<" 能力值為" << mengScore << endl; // 輸出孟孟為社長及其能力值
      
        if (duScore > peiScore) // (找副社長)如果嘟嘟的值大於珮珮
        { 
            vp = "嘟嘟"; // 副社長就是嘟嘟
          cout << "副社長為" << vp <<" 能力值為" << duScore << endl; // 輸出嘟嘟為副社長及其能力值
        } 
          
          else if (peiScore > mengScore)// (找副社長)如果珮珮的值大於孟孟
          {
              vp = "珮珮"; // 副社長就是珮珮
            cout << "副社長為" << vp <<" 能力值為" << peiScore << endl; // 輸出珮珮為副社長及其能力值
          }
      
          else // (找副社長)如果嘟嘟的值等於孟孟
          {
            cout << "嘟嘟和珮珮的能力值相等，無法選出副社長。" << endl;
          } 
  
      return 0; // 結束程式
  
    } 
      
    else if (duScore == z && peiScore == z && mengScore == z)
    {
      cout <<"三人能力值為零，準備廢社。";
      
      return 0;
      
    }


    else 
    {
      if (duScore == peiScore && peiScore == mengScore)
        cout << "嘟嘟、珮珮和孟孟的能力值相等，無法比較。" << endl;
      
      return 0; // 結束程式
      
    }
}
```
執行結果
===

工作分配與心得
---
**林恩珮＿設計題目、撰寫HackMD**
在完成這份作業的過程，我了解到團隊合作的重要性，從起初的設計題目、撰寫程式到最後的程式輸出，我們遇到了不少阻礙，像是題目的設計是否結合到我們生活當中、遇到迴圈的問題該如何變換思路及陣列的探討等等，這些難題皆在我們組員們齊心協力下，一ㄧ化解成功。經過這次的報告，也讓我了解到自己的能力，啊......我未來不適合往資工的方向努力，所以謝謝老師給了我探索程式語言的機會！
 
> [name=Enpeiii]

**席‧督菲蘭＿撰寫程式、註解程式、撰寫HackMD**
我對程式設計本來就蠻有興趣，所以在這次的作業中，是由我來撰寫程式！我覺得程式設本身就是一個有趣又極巨挑戰性的東西，需要很強的邏輯能力，雖然我程式寫得不會到太差（ㄏㄏ），而我們挑的題目也沒有很難，但其實中途也遇到了不少困難，不管是程式有錯誤還是遇到結果跑不出來的問題，除錯真的需要花費許多時間耐心及精力，但透過我們組員一起互相幫助、找錯，終於找出錯誤的地方，順利解決了！！不枉費我們八個小時的努力⋯（ ; ; ）
> [name=Flora]

**蔡孟潔＿設計題目、撰寫HackMD**
從設計題目與程式的編寫過程，都讓我們絞盡腦汁，為了貼近生活我們選擇組員所在的吉他社為出發點，我們運用了第一單元找出最大數、運算總和還有第二單元陣列做出了三種不同結果，還學習了Hack MD 這個程式的操作，撰寫程式過程中還發現同樣的輸出能用不同指令去執行，非常有趣看到自己寫得程式碼成功也很感動，使我收穫滿滿，讓我對C++語言有更深入的印象與認知。
> [name=Diananana]
