C //例 7.13 有一个3*4的矩阵,求所有元素中的最大值。

C程序设计 (第四版) 谭浩强 例 7.13

例 7.13 有一个3*4的矩阵,求所有元素中的最大值。

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法:使用指针、动态分配内存
c 复制代码
#include <stdio.h>
#include <stdlib.h>

#define M 3
#define N 4

void initialMatrix(int ***matrix, int m, int n){
	*matrix = (int**)malloc(m * sizeof(int*));
	for(int i = 0; i < m; i++){
		(*matrix)[i] = (int*)malloc(n * sizeof(int));
	}
}

void inputMatrix(int **matrix, int m, int n){
	printf("Enter %d*%d matrix:\n", m, n);
	for(int i = 0; i < m; i++){
		for(int j = 0; j < n; j++){
			scanf("%d", &matrix[i][j]);
		}
	}
}

int max(int **matrix, int m, int n){
	int max = matrix[0][0];
	for(int i = 0; i < m; i++){
		for(int j = 0; j < n; j++){
			if(matrix[i][j] > max){
				max = matrix[i][j];
			}
		}
	}
	return max;
}

void outputMatrix(int **matrix, int m, int n, int max(int **, int, int)){
	printf("Max Value in the matrix is %d\n", max(matrix, m, n));
}

void freeMatrix(int ***matrix, int m){
	for(int i = 0; i < m; i++){
		free((*matrix)[i]);
	}
	free(*matrix);
}

int main(){
	int **matrix = NULL;

	initialMatrix(&matrix, M, N);
	inputMatrix(matrix, M, N);
	outputMatrix(matrix, M, N, max);
	freeMatrix(&matrix, M);

	system("pause");
	return 0;
}
相关推荐
Thomas21439 分钟前
spark sort shuffer 和 hash shuffer 图解对比
算法·哈希算法
AbandonForce28 分钟前
简谈线程池
开发语言·c++·算法
智购科技智能售货柜38 分钟前
2026自动售货机商品掉落声学计数方案:从麦克风到频谱识别的工程实践~YH
人工智能·算法
土司大王1 小时前
LeetCode hot100——实现 Trie (前缀树)
java·算法·leetcode
水龙吟啸1 小时前
华为研发岗AI方向9.9机考题复盘&分析
人工智能·python·算法·华为
小七在进步1 小时前
类和对象(一)
java·数据结构·算法
Y_Bk1 小时前
2026 ICPC EC网络预选赛第一场
算法
CarIise1 小时前
C语言字符串基础:从char数组到双指针反转算法
算法
佳児素花痴╮1 小时前
C++速通2
开发语言·c++·算法
TKcloudmaster_H1 小时前
告别低效运营:跨境数据分析 + 多账号矩阵增效方案
大数据·矩阵·数据挖掘·数据分析·新媒体运营·产品运营·流量运营