6-1 指向二维数组的指针

本题要求实现:找出任意的一个m×n矩阵每一行上的最大值并按样例格式要求显示。其中:m、n满足(2<=m<=20、2<=n<=20)及矩阵元素从键盘输入。

函数接口定义:

void max_row(int (*arr)[20], int m, int n);
max_row函数输出矩阵各行的最大值,其中m,n为欲处理矩阵的行、列值,

裁判测试程序样例:

#include <stdio.h>
void max_row(int (*arr)[20], int m, int n); int main(void) {
 int m, n; 
int hang, lie, juZhen[20][20];
 scanf("%d%d", &m, &n);
 for (hang = 0; hang < m; hang++) { for (lie = 0; lie < n; lie++) 
{ scanf("%d", &juZhen[hang][lie]); } 
} max_row(juZhen, m, n); return 0; } 
/* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

5 6
31   42   36  74  235 88
144 32   57  37  43   47
97   51   257 7   445  459
33   65   44  3   425  43
68   342 82  789 123  213

输出样例:

The max in line 1 is:235
The max in line 2 is:144
The max in line 3 is:459
The max in line 4 is:425
The max in line 5 is:789

运行代码如下 

void max_row(int (*arr)[20], int m, int n){
    int (*p)[m];
    int i,j;
    int max;
    int t[m];
    for(i=0;i<m;i++){
                max=arr[i][0];
        for(j=1;j<n;j++){
            if(arr[i][j]>max){
                max=arr[i][j];
            }
        }
        t[i]=max;
    }
        for(i=0;i<m;i++){
                printf("The max in line %d is:%d\n",i+1,t[i]);
        }    
}

 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值