輸入輸出問題
#include<iostream>;
#include<stdlib.h>;
using namespace std;
int getMaxOrMin(int *arr, int count, bool isMax){
int temp = arr[0];
for (int i = 1; i < count; i++){
if (isMax){
if (temp < arr[i]){
temp = arr[i];
}
else{
if (temp > arr[i]){
temp = arr[i];
}
}
}
return temp;
}
}
int main(void){
int arr1[4] = {9, 4, 8, 3};
bool isMax = false;
cin >> isMax;
cout << getMaxOrMin(arr1, 4, isMax) << endl;
system("pause");
return 0;
}
請問為什么我輸入0 它輸出9 ,我輸入1 它輸出4
錯在哪呀
2017-02-23
你這個邏輯亂了,少年。
按照你的程序,開始temp=9,然后遍歷到arr1[1].如isMax為0,則直接跳出,temp=9;如為1,則判斷temp<arr[i],為假,到else里判斷temp>arr[i],為真,則temp=4,之后跳出。
2017-02-23
還有樓主括號有點亂啊