2015-05-17 127 views
0

1)寫一個程序,要求用戶輸入由10個不同的人(人1,人2,...,人10)早餐吃的煎餅數量。 一旦數據輸入完畢,程序必須分析數據並輸出哪個人吃了早餐最多的煎餅。爲什麼這隻適用於休息;?

我的解決方案使用數組,但程序只顯示吃了最多句子的人,如果我在if語句的末尾放置一個break。如果沒有休息,該計劃就會問每個人吃了多少東西然後退出。我只是想明白爲什麼休息時間需要在那裏,或者是否有辦法在沒有休息的情況下進行。

這裏是我的代碼:

//Pancakes! 
#include <iostream> 
#include <limits> 
using namespace std; 


int main() 
{ 
    //Build array of people and set a value for most eaten 
    int people[9] = {}; 
    int most = -1; 


    for (int n=1; n<=10; n++) 
    { 
     //Sets the number of pancakes eaten to a person value in the array 
     cout << "How many pancakes did person " << n << " eat? "; 
     cin >> people[n-1]; 

     //Checks if the value entered above is the highest value 
     if(people[n-1] > most) 
     { 
      most = people[n-1]; 
     } 
    } 

    //Line entered for formatting 
    cout << endl; 

    //Lists the person and how many pancakes they ate 
    for (int x=0; x<10; x++) 
    { 
     if(people[x] == most) 
     { 
      cout << "Person " << (x+1) << " ate " << most << " pancake(s), the most!" << endl; 
      break; 
     } 
    } 




    //Pause after program 
    cout << endl; 
    std::cout << "Press ENTER to continue..."; 
    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 

    return 0; 
} 

,也歡迎來審查我的代碼,並給我提示使其更加簡潔,因爲即時通訊仍然是一個新手=]感謝。

+0

另外,只是一個即時通訊即時編寫此代碼在工作中,我不能安裝一個編譯器,所以即時在線編譯[這裏](http://www.onlinecompiler.net/),它不允許使用'\ ñ'這就是爲什麼有一堆endl大聲笑 – Brian

回答

0

針對以上問題,我會解決這種方式來預覽誰吃最多煎餅的人:

代碼:

 // assuming the first one is the highest one 
    most = 0; 
    //now checking for the higest one 

    for (int x = 0; x < 10; x++) { 
     if (people[x] > =people[most]) { 
     most = x; 
     } 
    } 

    cout << people[most]; //this shows the highest pancakes. 

這完全不使用break,並給予必要的輸出。

+0

嗯,這是非常好的感謝。我想我也可以做一個函數,並在最後調用該函數。謝謝您的幫助! – Brian

相關問題