当前位置: 代码迷 >> C语言 >> 有C语言的问题
  详细解决方案

有C语言的问题

热度:271   发布时间:2005-04-21 10:15:00.0
有C语言的问题

从键盘输入一个4×4的矩阵AB,求出它们的和、差、积并按矩阵输出。

程序如下:这个程序在用整型定义时可以运行。但我把数列一改为浮点型就不能运行了,且编译能通过。

请问这是为什么啊????我实在不憧

#include <stdio.h>

#include <math.h>

main()

{int i, j;

float a[4][4], b[4][4];

float h[4][4], c[4][4], ji[4][4];

/*输入阵列A*/

printf("input the A :");

for(i=0; i<4; i++)

for(j=0; j<4; j++)

scanf("%f", &a[i][j]);

/*输入B阵列*/

printf("input the B:");

for(i=0; i<4; i++)

for(j=0; j<4; j++)

scanf("%f", &b[i][j]);

/*计算矩阵的和、差、积*/

for(i=0; i<4; i++)

for(j=0; j<4; j++)

{h[i][j]=a[i][j]+b[i][j]; /**/

c[i][j]=a[i][j]-b[i][j]; /**/

ji[i][j]=a[i][j]*b[i][j]; /**/

}

/*输入矩阵和*/

printf("output h:\n");

for(i=0; i<4; i++)

{for(j=0; j<4; j++)

printf("%f", h[i][j]);

printf("\n");

}

/*输出矩阵积*/

printf("\n output ji:\n");

for(i=0; i<4; i++)

{for(j=0; j<4; j++)

printf("%f", ji[i][j]);

printf("\n");

}

/*输出矩阵差*/

printf("\n output c:\n");

for(i=0; i<4; i++)

{for(j=0; j<4; j++)

printf("%f", c[i][j]);

printf("\n");

}

}

搜索更多相关的解决方案: C语言  

----------------解决方案--------------------------------------------------------
楼主的矩阵乘积好像写错了,是第一个矩阵的行×第二个矩阵的列才对
----------------解决方案--------------------------------------------------------
以下是引用牛虻在2005-4-21 13:53:17的发言: 楼主的矩阵乘积好像写错了,是第一个矩阵的行×第二个矩阵的列才对

----------------解决方案--------------------------------------------------------
那我要怎么定义,为什么在整型的情况下可以运行呢?
----------------解决方案--------------------------------------------------------
  相关解决方案