我有5個整數,我試圖找出哪一個具有最大的值。我怎樣才能做到這一點?我怎樣才能找到最大的整數?
我想:
if (louis > harry , matt , bob , jack) {
name.text = @"Louis";
}
,但它不工作的權利。
我有5個整數,我試圖找出哪一個具有最大的值。我怎樣才能做到這一點?我怎樣才能找到最大的整數?
我想:
if (louis > harry , matt , bob , jack) {
name.text = @"Louis";
}
,但它不工作的權利。
請注意,我沒有在Xcode任何經驗,我只是寫我能找到
至於我可以看到有沒有辦法來調用fmax
與參數任意數量,所以你必須循環你的變量,像這樣:
switch(fmax(louis,fmax(harry,fmax(matt,fmax(bob,jack)))) {
case louis: name.text = @"Louis"; break;
case harry: name.text = @"Harry"; break;
case matt : name.text = @"Matt"; break;
case bob : name.text = @"Bob"; break;
case jack : name.text = @"Jack"; break;
}
使用數組!將整數放入數組中。如果甚至不能使用單獨的名稱int
變量並使用int
數組。
int values[5] = {louis, harry, matt, bob, jack};
NSArray *names = @[@"Louis", @"Harry", @"Matt", @"Bob", @"Jack"];
int highestValue = -INFINITY;
NSString *highestName = nil;
for (int i = 0; i < 5; i++) {
if (values[i] > highestValue) {
highestValue = values[i];
highestName = names[i];
}
}
有很多解決方案可以解決您的問題。以上只是一個一般而且非常簡單的一個。
它只是把你的整數放入一個數組,並使用循環找到最大的一個。然後它從另一個字符串數組中獲得相應的名稱。請注意0數組是一個普通的C數組,而字符串數組是一個Objective-C樣式NSArray
或NSString
對象。
順便說一句,你的方法不起作用,因爲它不是有效的C代碼。如果你想這樣做,就像我下面做的那樣。但我真的推薦使用數組,因爲它更容易閱讀維護。
if (louis > harry && louis > matt && louis > bob && louis > jack) {
name.text = @"Louis";
} else if (harry > louis && harry > matt && harry > bob && harry > jack) {
name.text = @"Harry";
} ... etc ...
它們看上去不像我的整數 – Paparazzi
你可能最好把數據和一個名稱數組放在一個數組中。然後,當您找到具有最大值的數組項目的索引時,可以使用該索引查找名稱。 –