其他分享
首页 > 其他分享> > 8. 编写一个函数,处理n行、n列的二维数组:将每一行的元素同除以该行上绝对值最大的元素。

8. 编写一个函数,处理n行、n列的二维数组:将每一行的元素同除以该行上绝对值最大的元素。

作者:互联网

#include "stdio.h"
#include "math.h"
int main(void ) {

    int a[3][4] = {1, -4, 31, 43, 54, 36, 47, 38, 49, 10,63, 12};
    int (*p)[4]=a;
    double b,max;
    double q[3];
    printf("%f\n",a[1][2]);
    for (int i = 0; i < 3; ++i)
    {
        max = fabs(*(*(p+i)));
        for (int j = 1; j < 4; ++j)
        {
            b = fabs(*(*(p + i) + j));
            if(b>=max)
               max = b;
        }
        q[i] = max;
    }
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            b =fabs(*(*(p + i) + j));
            *(*(p+i)+j) = b/q[i];
        }
    }
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            printf("%lf ",*(*(p+i)+j));
        }
    }

    return 0;
}

 

标签:fabs,int,max,元素,++,二维,绝对值,printf,include
来源: https://blog.csdn.net/m0_63673544/article/details/121190662