2 ksjtly ksjtly 于 2014.03.25 09:00 提问

C++教材例题,运行结果为啥不正确?

新手自学C++,谭浩强教程例5.8,求3*4矩阵最大值,答案应该是88,我运行的结果却是11,明显是错的,代码也照书检查无误,不知道问题出在哪?求高人指教!
#include

using namespace std;
int main( )
{
int max_value(int array[][4]);
int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}};
cout<<"最大值是:"< return 0;
}
int max_value(int array[][4])
{ int i,j,max;
max=array[0][0];
for(i=0;i for(j=0;j if(array[i][j]>max)max=array[i][j];
return max;
}

2个回答

slamzwl
slamzwl   2014.03.25 09:07

lz贴代码的时候,请检查一下再贴,显然代码是不完整的。所以我们无法看出你的问题所在。
顺着你的这些代码,我写了一个
int max_value(int array[][4]);
int main()
{
int a [3][4]={{15,3,55,7},{8,23,85,67},{33,21,12,11}};
int max = max_value(a);
cout<<"最大值是:"<< max;
//int i;
//cin>>i;
return 0;
}
int max_value(int array [] [4])
{
int i,j,max;
max=array[0][0];
for(i=0;i for(j=0;j if(array [i] [j]>max)
max=array [i] [j];
return max;
}
检测了一下是没有问题的,其实就是将a[3][4]的值传入函数中,在函数中新声明一个变量array[3][4]去接收传来的值,然后对数组进行遍历,选择出最大值进行返回,然后再main函数中用一个变量接收max_value的处理结果,输出就能得到数组中的最大值。不知道lz的代码是什么思路。

ksjtly
ksjtly   2014.03.25 20:57

谢谢slamzwl!
因为电脑有问题,一直没法回复(一点击“我要回答”就出现该网页卡死现象。现在是换了台电脑来回复的)。因为电脑问题,粘帖的代码显示不全,并不是我粗心。
实际运行程序我是完全按照书上例题敲的代码,检查代码也没有问题,但是就是运行结果不正确。书上例题代码如下:继续请教高人,究竟错在哪?
#include
using namespace std;
int main( )
{
int max_value(int array[][4]);
int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}};
cout<<"最大值是:"< return 0;
}
int max_value(int array[][4])
{ int i,j,max;
max=array[0][0];
for(i=0;i for(j=0;j if(array[i][j]>max)max=array[i][j];
return max;
}

ksjtly
ksjtly 怎么还是显示不全啊,我要崩溃了,完整的循环语句被拦腰截掉,显示不全。不会是网站有问题吧!
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!