逻辑题(重点!)

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

}

相关推荐
Ada's2 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
Nil2083 小时前
leetcode 118杨辉三角
算法·leetcode·职场和发展
wanderist.5 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.5 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_307779136 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂6 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
光影少年6 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
Escalating_xu6 小时前
【C 语言】深入理解指针(5):sizeof、strlen、数组名语义与指针笔试题全解析
java·c语言·开发语言
HEJOO96 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
Code_Solitude7 小时前
c语言:递归
java·c语言·算法