利用数组将3×4的矩阵进行保存并输出成行列式样,再将每1行均除以该行上绝对值最大的元素,并输出
#include<stdio.h>#include<math.h>main(){doublea[3][4],b[3];inti,j,k;for(k=0;k<3;k++){...
#include<stdio.h>
#include<math.h>
main()
{
double a[3][4],b[3] ;
int i,j,k;
for(k=0;k<3;k++)
{b[k]=0;}
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
if(fabs(a[i][j])>=b[i])
b[i]=fabs(a[i][j]);
}
for(i=0;i<3;i++)
{ {
for(j=0;j<4;j++)
a[i][j]=a[i][j]/b[i];
printf("%d",a[i][j]);
printf(" ");
}
printf("\n");
}}
运行了一下,不对啊。求大神告诉 展开
#include<math.h>
main()
{
double a[3][4],b[3] ;
int i,j,k;
for(k=0;k<3;k++)
{b[k]=0;}
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
if(fabs(a[i][j])>=b[i])
b[i]=fabs(a[i][j]);
}
for(i=0;i<3;i++)
{ {
for(j=0;j<4;j++)
a[i][j]=a[i][j]/b[i];
printf("%d",a[i][j]);
printf(" ");
}
printf("\n");
}}
运行了一下,不对啊。求大神告诉 展开
1个回答
展开全部
第一个问题:
第二个for语句应该包含下面三个语句;
第二个:
第二个大括号括错了吧?!
第三个:你定义的是double类型,但输入输出用了%d,而%d是整数类型,所以你的程序只会出现整数不会出现小数,改为%lf就好。
附上修改后代码:
#include<stdio.h>
#include<math.h>
int main()
{
double a[3][4],b[3] ;
int i,j,k;
for(k=0;k<3;k++)
b[k]=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%lf",&a[i][j]);
if(fabs(a[i][j])>=b[i])
b[i]=fabs(a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++){
a[i][j]=a[i][j]/b[i];
printf("%lf",a[i][j]);
printf(" ");
}
printf("\n");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询