关于C语言的题

来源:百度知道 编辑:UC知道 时间:2024/05/05 22:04:10
编程,矩阵相乘 A是2x3矩阵,
B是3x3矩阵,C=A*B, C是2x3矩阵。
矩阵A存储在文件a.dat中,
用int8类型,矩阵B存储在文件b.dat中,
用int8类型,程序中读取这两个文件,
并且在屏幕输出这两个矩阵(注意格式对齐)。
最终的结果C存储在c.dat中,
也用int8类型,并且显示在屏幕上

运行测试过的,放心用吧。

#include <stdio.h>
#include <sys/types.h>
int main()
{
FILE *fpa = NULL;
FILE *fpb = NULL;
FILE *fpc = NULL;

int8_t A[2][3];
int8_t B[3][3];
int8_t C[2][3];

int i, j, p;

fpa = fopen("a.dat", "r");
fpb = fopen("b.dat", "r");

if (!fpa || !fpb) {
if (fpa) fclose(fpa);
if (fpb) fclose(fpb);
return 0;
}

for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) fscanf(fpa, "%d", &(A[i][j]));
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) fscanf(fpb, "%d", &(B[i][j]));
}

printf("\nMatrix A:\n");
for