c语言 求二维数组最小值

img

c语言程序设计题目,如图所示(*σ´∀`)σヾ(´∀`。ヾ)

你题目的解答代码如下:

#include <stdio.h>
#define N 2
#define M 3

int main()
{
    int a[N][M];
    int i, j, min;
    for (i = 0; i < N; i++)
        for (j = 0; j < M; j++)
            scanf("%d", &a[i][j]);
    min = a[0][0];
    for (i = 0; i < N; i++)
        for (j = 0; j < M; j++)
            if (min > a[i][j])
                min = a[i][j];
    printf("min=%d", min);
    return 0;
}

解答如下

img

#include <stdio.h>
int main()
{
    int m=2,n=3;
    int t[m][n];
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            scanf("%d",&t[i][j]);
    int min=t[0][0];//设最小值为数组第一个
    for(int i=0; i<m; i++) //找最小值
        for(int j=0; j<n; j++)
            if(t[i][j]<min) min=t[i][j];
    printf("min:%d",min);
    return 0;
}

直接两个for循环遍历, 定义一个最小值,每次进行更新


#include <stdio.h>
#define N 2
#define M 3
 
int main()
{
    int a[N][M];   //MN 也可以改为输入,自定义数组大小
    int i, j, min;
    for (i = 0; i < N; i++)
        for (j = 0; j < M; j++)
            scanf("%d", &a[i][j]);    //处理输入二维数组
    min = a[0][0];  //初始化一个最小的
    for (i = 0; i < N; i++)
        for (j = 0; j < M; j++)
            if (min > a[i][j])
                min = a[i][j];  //更新最小值
    printf("min=%d", min);
    return 0;
}
#include “stdio.h”
int main()
{
int a[2][3] = {
{2,3,4},
{5,3,1},
};
int min = a[0][0];
int row = -1;
int column = -1;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (a[i][j] < min) {
min = a[i][j];
row = i;
column = j;
}
}
}
printf(“min%d\n”, min);
printf("\n");
return 0;
}

可以参考下

#include “stdio.h”
int main()
{
int a[2][3] = {
{2,3,4},
{5,3,1},
};
int min = a[0][0];
int row = -1;
int column = -1;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (a[i][j] < min) {
min = a[i][j];
row = i;
column = j;
}
}
}
printf(“min%d\n”, min);
printf("\n");
return 0;
}