c语言编程二维数组

将数组a额每行均除以该行上绝对值最大的数,然后将a分成3行3列输出。

补充下列代码:
#include<stdio.h>
#include<math.h>
main()
{
float a[3][3]={14.3,2.6,3.9,3,3,6,3,4,2};
float x; int i,j;

}

第1个回答  2014-12-26
#include<stdio.h>
void main()
{
//    int a=-1;
//    printf("%12o\n",a);


    float a[3][3]={14.3,2.6,3.9,3,3,6,3,4,2};
    float x; int i,j;
    float maxRow[3];//记录每行的最大值

//记录每行的最大值 到maxRow[i]
    for(i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        {
            if( j==0)
            {
                maxRow[i]=a[i][j];    

            }else
            {
                if(maxRow[i]<a[i][j]){
                    maxRow[i]=a[i][j];
                }

            }
        }
    }
    //输出3行3列,每个值除以该行的最大的
    for(i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        {
            printf("%.2f ",a[i][j]/maxRow[i]);//保留2位小数
        }
        printf("\n");
    }

}

运行结果:
1.00 0.18 0.27
0.50 0.50 1.00
0.75 1.00 0.50

本回答被提问者和网友采纳
第2个回答  2014-12-26
#include<iomanip>
float max3(float a[]){
float x = a[0];
if (x < a[1]) x = a[1];
if (x < a[2]) x = a[2];
return x;
}
void main()
{
float a[3][3] = { 14.3, 2.6, 3.9, 3, 3, 6, 3, 4, 2 };
float x; int i, j;
for (i = 0; i < 3;i++)
{
int max = max3(a[i]);
for (j = 0; j < 3;j++)
{
a[i][j] = a[i][j] /max ;
}

}
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++)
cout << setw(6) << setprecision(1) << a[i][j];
cout << endl;
}

}

第3个回答  2020-01-09

C语言数组之二维数组

相似回答