逻辑题(重点!)

/*An,m是一个n行m列的矩阵;Aij表示A的第i行j列的元素;定义xij为A的

第i行和第j列除了ai,j之外所有元素(共n+m-2个)的乘积,即xi,j=ai,1*ai,2*...*ai,j-1

..*ai,m*a1,j*a2,j...*ai-1,j*ai+1,j...*an,j现输入非负整形的矩阵An,m求MAX(xi,j),即所有xi,j中的最大值。

输入描述:第一行两个整数n和m。之后n行输入矩阵,均为非负整数

实例:

输入:3 5

5 1 8 5 2

1 3 10 3 3

7 8 5 5 16

输出:358400*/

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int n,m;//n是行数,m是列数

int count(int(*arr)m,int n,int m,int subi,int subj)

{

int ret=1;

for(int i=0;i<n;i++)

{

if(i!=subi)

{

ret*=arrisubj;

}

}

for(int j=0;j<m;j++)

{

if(j!=subj)

{

ret*=arrsubij;

}

}

return ret;

}

int main(int argc,const char * argv\[\])

{

printf("请输入行数和列数\n");

scanf("%d %d",&n,&m);

int arrnm;

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

printf("请输入第%d行第%d个元素为:\n",i+1,j+1);

scanf("%d",&arrij);getchar();

}

}

int max=count(arr,n,n,0,0);

int temp;

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

if(0==i&&0==j)

break;

temp=count(arr,n,m,i,j);

if(temp>max)

max=temp;

}

}

printf("最大值为:%d\n",max);

return 0;

}

相关推荐
微尘hjx9 小时前
【ByteTrack 04】多轨迹算法ByteTrack改进点
算法·yolo·目标检测·目标跟踪·bytetrack·ultralytics·车跟踪
小向是个Der9 小时前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
路灯上の马陈10 小时前
二叉树的定义与性质
数据结构·二叉树·树结构·1024程序员节
bkspiderx12 小时前
基于Socket的广播通信及C语言实现详解
c语言·开发语言·socket·广播·socket的广播通信
小蒋观天下13 小时前
雷击与浪涌防护:前端SPD选型、接地网误区,接地不当反而引入干扰
深度学习·算法·机器学习
Bshaya_13 小时前
红黑树详解:概念、规则与插入实现
数据结构·红黑树·二叉搜索树·平衡树·插入逻辑
WBluuue14 小时前
数据结构与算法:分块(一):块状数组、块状链表
数据结构·c++·算法·链表
路灯上の马陈15 小时前
数据结构-树
数据结构·1024程序员节
澳鹏Appen15 小时前
澳鹏重磅发布ExamOCRBench:面向端到端试卷判分的多任务基准
算法·benchmark·基准评测