利用数组将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");
}}
运行了一下,不对啊。求大神告诉
展开
 我来答
圣卡卡_10
2014-05-11 · 超过10用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:27.9万
展开全部

第一个问题:

第二个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");

}

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式