C语言编程 要求用函数实现程序

编写一个程序,从键盘中输入9个数给3*3矩阵,求该3*3矩阵的最大值并输出,要求用函数予以实现。要求用函数!函数!麻烦了!

#include <stdio.h>
void fun(double a[3][3])
{
    double *ptr = (double *)a;
    printf("input 9 data:\n");
    // 输入数据到二维数组 a[3][3]
    for (int i = 0; i < 9; ++i)
        scanf("%lf", ptr + i);

    double max = *ptr;
    // 查找 a[3][3]的最大值,并输出
    for (int i = 1; i < 9; ++i )
        if (*(ptr+i) > max)
            max = *(ptr+i);
    printf("max elem value = %g\n", max);
}
int main()
{
    double x[3][3];
    fun(x);
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-08
3*3矩阵的最大 元素 的值 并 输出
#include <stdio.h>
double fun(double a[3][3]) {
int i,j;
double v;
v = a[0][0];
for (j=0;j<3;j++) for (i=0;i<3;i++) if (a[i][j]>v) v=a[i][j];
return v;
}
int main(){
double x[3][3];
int i,j;
printf("input 9 data:\n");
for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%lf",&x[i][j]);
printf("max elem value = %g\n", fun(x));
return 0;
}本回答被网友采纳
第2个回答  2018-03-08
void max(int a[3][3])
{
int i,j,m;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
scanf("%d",&a[i][j]);
m=a[0][0];
for(i=0;i<3;++i)
for(j=0;j<3;++j)
if (a[i][j]>m)m=a[i][j];

printf("max=%d",m);
}
main()
{
int a[3][3];
max(a);
}
相似回答