c++编程G2
发布网友
发布时间:2022-04-30 09:53
我来回答
共1个回答
热心网友
时间:2022-06-20 19:12
有一处不对
已经修改并正确运行
目标是把前三行同列元素的最大值放到第四行对应列
错误原因:对int a[9],中的元素下标没有弄清楚
int a[N]的元素下标是0到N-1(N>=1)
#include <cstdlib>
#include <iostream>
#define N 5
using namespace std;
int static Max(int a,int b,int c)
{
return a>b?(a>c?a:c):(b>c?b:c);
}
int main(int argc, char *argv[])
{
int data[4][N]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}},i;
for(i=0;i<N;i++) //最大列标是N-1
{
data[3][i]= Max(data[0][i],data[1][i],data[2][i]);
}
for(i=0;i<=3;i++)
{
printf("%4d %4d %4d %4d %4d\n",\
data[i][0],data[i][1],data[i][2],data[i][3],data[i][4]);
}
getchar();
}