逻辑题(重点!)

/*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;

}

相关推荐
晓天衡宇•评测社区17 小时前
FSR-Bench 前沿科学推理榜单发布:GPT-5.5 居首,“会推理”未必“能答对”
算法
程序喵大人18 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法
hanlin0319 小时前
动态规划专练:力扣第121、122题
笔记·算法·leetcode
To_OC19 小时前
LC 74 搜索二维矩阵:换皮的二分查找,我居然一开始没看出来
javascript·算法·leetcode
文心快码BaiduComate19 小时前
文心快码荣获“中国优秀软件产品”,实力再获国家级认可
算法·代码规范
玖玥拾19 小时前
LeetCode 189 轮转数组
算法·leetcode
ZhangShao060719 小时前
题解:CF2249B
c++·算法
小玮看世界19 小时前
[Python]线段树与二分法
数据结构·算法
用户昵称10019 小时前
C/C++编程-工程实践-本地存储log的工程意义
c语言·开发语言
鹿角片ljp20 小时前
LeetCode 15. 三数之和 | 排序 + 双指针超详细复盘
算法