#include<iostream>
#include<stdlib.h>
using?namespace?std;
int?getMaxOrMin(int*arr,?int?count,?bool?isMax)
{
int?temp?=?arr[0];
isMax?=?true;
for(int?i?=?0;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]={3,6,2,5};
????bool?isMax?=?false;
????cout?<<?"求最大值請輸入1,求最小值請輸入0:";?
????cin?>>?isMax;
????cout?<<?getMaxOrMin(arr1,4,isMax)?<<?endl;
????system("pause");
????return?0;
}
2021-02-23
?
for
(
int
?i?=?0;i<=count;i++) 循環語句里面應該是i<count,而不是i<=count
2021-02-20
為任意值是因為你的for循環中i的值為4的時候數組越界了,從而導致你獲得一個沒有規律的值。
另外,在這個代碼的第八行中,應去掉
isMax?=?
true
;不然函數一直是取最大值
2021-02-20
第8行的
isMax?=?
true
;去掉,這行會導致只能求出最大值而不能根據輸入改變輸出最大或最小值