#include <stdio.h>
#include <string.h>
#define W 4 //4列
#define H 4//4行
int main()
{
int i,j;
int arr[W][H]=
{
{1,3,5,7},
{10,23,45,12},
{100,102,500,324},
{88,75,23,47}
};//这个可以自己输入
int arr2[W+H];//0-3表示 每行最大 4-7表示每行最大 当然也可以定义成两个不同的数组
memset(arr2,0,sizeof(int)*(W+H));//首先都设置为0,当然任务最小的是0了
for(i=0;i<H;i++)
{
for(j=0;j<W;j++)
{
if(arr[i][j]>arr2[i])
arr2[i]=arr[i][j];//如果当前值比该行的最大值还大 就把该行的最大值设置为 当前值
if(arr[i][j]>arr2[j+4])//如果当前值比该列的最大值还大,就把该列的最大值设为当前值
arr2[j+4]=arr[i][j];
}
}
//输出每行的最大值
for(i=0;i<H;i++)
printf("第%d行最大值是:%d\n",i+1,arr2[i]);
printf("\n\n");
//输出每列最大值
for(i=0;i<W;i++)
printf("第%d行最大值是:%d\n",i+1,arr2[i+4]);
return 0;
}
温馨提示:答案为网友推荐,仅供参考