题目要求:二维数组中每行的最大元素构成向量B,每列的最小元素构成向量C,求B*C
代码如下:
/*向量B*C
A每行的最大值构成B向量
A每列的最小值构成C向量*/
#include<stdio.h>
#define N 2
int main(){
int a[2][2]={1,2,3,4};
int i,j;
int max,min;//定义最大最小值;
int b[2];
int c[2];
int sum;
//求每行最大值
for(i=0;i<N;i++)
{
max = a[i][0];
for(j=0;j<N;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
b[i]=max;
}
else b[i]=max;
}
//printf("%d\n",b[i]);
}
//求每列最小值
for(i=0;i<N;i++)
{
min = a[0][i];
for(j=0;j<N;j++)
{
if(a[j][i]<min)
{
min=a[j][i];
c[i]=min;
}
else c[i]=min;
}
//printf("%d\n",c[i]);
}
//求b*c
sum=0;
for(i=0;i<2;i++)
{
sum=sum+(b[i]*c[i]);
}
printf("%d",sum);
}
结果应该是10
就是这样啦~