為什么這個是錯誤的
#include<stdlib.h>
#include<iostream>
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]={1,6,2,7};
bool isMax=false;
cin>>isMax;
cout<<getMaxOrMin(arr1,4,isMax)<<endl;
system("pause");
return 0;
}
2018-06-09
不應該通過增加運算來簡化代碼,個人覺得簡化運算比簡化代碼更重要,然后改了一下方法
#include<stdlib.h>
#include<iostream>
using namespace std;
int getMaxOrMin(int*arr,int count,bool isMax)
{
int temp=arr[0];
if(isMax){
for(int i=1;i<count;i++){
if(temp<arr[i])
{
temp=arr[i];
}
}
}else{
for(int i=1;i<count;i++){
if(temp>arr[i])
{
temp=arr[i];
}
}
}
return temp;
}
int main(void)
{
int arr1[4]={1,6,2,7};
bool isMax=false;
cin>>isMax;
cout<<getMaxOrMin(arr1,4,isMax)<<endl;
system("pause");
return 0;
}
2018-06-09
少了兩個,
return temp前后都少一個,把return temp替換成下面的。
}
return temp;
}
2018-06-02
getMaxOrMin函數里面少了幾個大括號“}”,把代碼縮進就很容易看出來的