绝对值最大的元素"/>
编写函数:将double类型二维数组的每一行同除以该行上绝对值最大的元素
编写函数:将double类型二维数组的每一行同除以该行上绝对值最大的元素(题目来源:C语言程序设计第三版)
#include<stdio.h>
#include<math.h>void finex(double (*m)[3],int b,int c)
{double q[b],max,v,l;int i,j;for(i=0;i<b;i++)/*找绝对值最大的元素*/ {max=fabs(**(m+i));for(j=1;j<c;j++){v=fabs(*(*(m+i)+j));if(v>=max)max=v;}q[i]=max;} for(i=0;i<b;i++)for(j=0;j<c;j++){v=fabs(*(*(m+i)+j));if(v==q[i]){l=*(*(m+i)+j);for(j=0;j<c;j++)*(*(m+i)+j)=*(*(m+i)+j)/l; }}
}
int main()
{double a[3][3],(*p)[3];int i,j,n=3,k=0;p=a;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%lf",&a[i][j]);finex(p,n,n);for(i=0;i<3;i++)for(j=0;j<3;j++){printf("%10.2lf",a[i][j]);++k;if(k==3){printf("\n");k=0;} }return 0;
}
更多推荐
编写函数:将double类型二维数组的每一行同除以该行上绝对值最大的元素
发布评论