该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
const int M = 3;
const int N = 3;
const int L = 3;
int main(void)
{
int i = false;
int j = 0;
double a[M][N];
double b[N][L];
double c[M][L] = { false };
double* pc = (double*)c;
double* pa = (double*)a;
double* pb = (double*)b;
double*pa1;
double(*pb1)[L];
printf("\nInput the first matrix:\n");
for (; pa <= &a[M - 1][N - 1]; pa++) {
scanf_s("%lf", pa);
}
printf("\nThe first matrix:\n");
pa = &a[0][0];
for (; pa <= &a[M - 1][N - 1]; pa++) {
printf("%7.2lf ", *pa);
if (pa == &a[0][2] || pa == &a[1][2])
{
printf("\n\n");
}
}
printf("\nInput the second matrix:\n");
for (; pb <= &b[N - 1][L - 1]; pb++)
{
scanf_s("%lf", pb);
}
printf("\nThe second matrix:\n");
pb = &b[0][0];
for (; pb <= &b[N - 1][L - 1]; pb++) {
printf("%7.2lf ", *pb);
if (pb == &b[0][2] || pb == &b[1][2])
printf("\n\n");
}
printf("\nThe result matrix:\n");
for (pc = &c[0][0]; pc <= &c[M - 1][L - 1]; i++)
{
if (i == 3)
break;
pa1 = a[i];
for (j=0;j<=2;j++)
{
for (pb1 = &b[0]; pb1 < &b[N]; pb1++, pa1++)
{
*pc += ((*pb1)[j])*(*pa1);
}
pc++;
}
}
pc = &c[0][0];
for (; pc <= &c[M - 1][L - 1]; pc++) {
printf("%.2lf\t\t\t", *pc);
if (pc == &c[0][2] || pc == &c[1][2])
printf("\n\n");
}
system("pause");
return 0;
}