ttt3e
幼苗
共回答了10个问题采纳率:90% 举报
运行测试过的,放心用吧。
#include
#include
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 (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) printf("%dt", A[i][j]);
printf("n");
}
printf("nMatrix B:n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) printf("%dt", B[i][j]);
printf("n");
}
fclose(fpa);
fclose(fpb);
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
C[i][j] = 0;
for (p = 0; p < 3; p++) {
C[i][j] += A[i][p] * B[p][j];
}
}
}
printf("nMatrix C:n");
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) printf("%dt", C[i][j]);
printf("n");
}
fpc = fopen("c.dat", "w");
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) fprintf(fpc, "%dt", C[i][j]);
fprintf(fpc, "n");
}
fclose(fpc);
return 0;
}
测试文件a.dat
1 2 3
4 5 6
测试文件b.dat
1 2 3
4 5 6
7 8 9
结果文件c.dat
30 36 42
66 81 96
1年前
3