为什么输出的不是最大值

来源:2-14 编程练习

算法请爱我emmm

2018-10-07 12:16:42

#include "pch.h"

#include <iostream>

using namespace std;


int Max(int(*a)[4], int len)

{

int i, j, s = 0; 

int max = *(*a);  //将a[0][0]初始化max

for (i = 0; i < len; i++, a++)

{

for (j = 0; j < 3; j++)

{

int temp;   

//冒泡排序,将最大值放在最后一个数组元素中

if (*(*a + j + 1) < *(*a + j))

{

temp = *(*a + j + 1);         

*(*a + j) = temp;

*(*a + j + 1) = *(*a + j);

}

}

s = *(*a + 3);

if (s > max)

max = s;

}

return max;

}


int main()

{

//定义二维数组

int num[3][4] = { 4,5,2,6,12,7,5,0,3,1,3,4 };

//调用函数并输出返回值

cout << Max(num, 3) << endl;

return 0;

}

http://img.mukewang.com/climg/5bb9889d0001ea9908190494.jpg


写回答

1回答

guly

2018-10-08

你好,建议修改并参考一下代码:

#include <iostream>
using namespace std;
int Max(int(*a)[4], int len)
{
int i, j, s = 0; 
   int max = *(*a);  //将a[0][0]初始化max
for (i = 0; i < len; i++, a++)
{
for (j = 0; j < 4; j++)
{
//冒泡排序,将最大值放在最后一个数组元素中
if (max< *(*a + j))
{
max=*(*a + j);
}
      s = *(*a + 3);
if (s > max)
max = s;
}
}
return max;
}
int main()
{
//定义二维数组
int num[3][4] = { 4,5,2,6,17,7,5,0,3,1,3,24 };
//调用函数并输出返回值
cout << Max(num, 3) << endl;
return 0;
}

如果解决您的问题请采纳,祝学习愉快!

0

0 学习 · 593 问题

查看课程