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;
}

 

上一篇:实验六 类的封装


下一篇:2021-10-23