“求3*3矩阵每行中的最大值”c语言及讲解

希望可以有每一句的讲解,先谢过各位大神了

#include <stdio.h>//头文件
int main()//定义main函数
{
    int a[3][3], i, j, max;//定义变量和数组
    for (i = 0; i < 3; ++i){//循环行
        for (j = 0; j < 3; ++j){//循环列
            scanf ("%d", &a[i][j]);//输入第i行第j列
        }
    }
    max = a[0][0];//初始化max
    for (i = 0; i < 3; ++i){
        for (j = 0; j < 3; ++j){
            if (max < a[i][j])max = a[i][j];//如果max < a[i][j]就让max = a[i][j]
        }
    }
    printf ("%d\n", max);//输出
    return 0;
}

追问

这个不是应该用void主函数吗

追答

都可以,这个是标准的。用void的形式如下:

#include <stdio.h>//头文件
void main()//定义main函数
{
    int a[3][3], i, j, max;//定义变量和数组
    for (i = 0; i < 3; ++i){//循环行
        for (j = 0; j < 3; ++j){//循环列
            scanf ("%d", &a[i][j]);//输入第i行第j列
        }
    }
    max = a[0][0];//初始化max
    for (i = 0; i < 3; ++i){
        for (j = 0; j < 3; ++j){
            if (max < a[i][j])max = a[i][j];//如果max < a[i][j]就让max = a[i][j]
        }
    }
    printf ("%d\n", max);//输出
}

追问

这两个也没啥区别啊

追答

有点问题,你求得是每行最大值,刚才给你的是整个矩阵的最大值了

我给改了一下

#include //头文件
int main()//定义main函数
{
int a[3][3], i, j, max;//定义变量和数组
for (i = 0; i < 3; ++i){//循环行
for (j = 0; j < 3; ++j){//循环列
scanf ("%d", &a[i][j]);//输入第i行第j列
}
}

for (i = 0; i < 3; ++i){
max = a[i][0];//初始化max
for (j = 0; j < 3; ++j){
if (max < a[i][j])max = a[i][j];//如果max < a[i][j]就让max = a[i][j]
}
printf ("%d\n", max);//输出
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考