​最小值输出为3,明显错误,应该为1,但不知代码中错在哪,希望各位大神帮忙看一下

#include<iostream>

using namespace std;

#include<stdlib.h>


namespace A

{

int getMaxOrMin(int *a, int count, bool ifMax)

{

int temp = a[0];

int i, j;

if (ifMax)

{

for (i = 1; i < count; i++)

{

for (j = 0; j < count - i; j++)

{

if (a[j] < a[j + 1])

{

temp = a[j + 1];

a[j + 1] = a[j];

a[j] = temp;

}

}

}

cout << temp << "为最大值" << endl;

}

if (!ifMax)

{


for (i = 1; i < count; i++)

{

for (j = 0; j < count - i; j++)

{

if (a[j]>a[j + 1])

{

temp = a[j + 1];

a[j + 1] = a[j];

a[j] = temp;

}

}

}

cout << temp << "为最小值" << endl;

}

for (i = 0; i < count; i++)

{

cout << a[i] << endl;

}

return temp;

}

}


int main()

{

int arr[10] = { 2, 5, 7, 8, 4, 1, 6, 3, 9, 10 };

bool ifMax = false;

cin >> ifMax;

A::getMaxOrMin(arr, 10, ifMax);

system("pause");

return 0;

}


qq_BornToBeSome_0
浏览 1133回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP