#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
//兩個随機矩陣相乘
void main()
{
double a[2][3], b[3][2],d; //定義一個2×3和3×2的矩陣
srand((unsigned)time(NULL)); //播種随機數
int i, j,k,l;
printf("the array a is:\n");
for (i = 0; i < 2; i++) //生成一個随機的2×3矩陣
{
for (j = 0; j < 3; j++)
{
a[i][j] = rand() *10/ (double)RAND_MAX; //随機數的範圍是0~10
printf("%7.5lf ", a[i][j]);
}
j = 0;
printf("\n");
}
printf("\n");
printf("the array b is:\n");
k = 0, l = 0;
for (; k < 3; k++) //生成一個随機的3×2矩陣
{
for (; l < 2; l++)
{
b[k][l] = rand()*10 / (double)RAND_MAX;
printf("%7.5lf ", b[k][l]);
}
l = 0;
printf("\n");
}
printf("\n");
printf("the result is:\n");
i = j = k = l = 0; //實作上述生成的随機矩陣相乘
for (i=0; i < 2; i++)
{
for (l=0; l < 2; l++)
{
for (j=0,k=0,d=0; j < 3; j++, k++)
{
d =d+ a[i][j] * b[k][l];
}
printf("%7.5lf ", d);
}
printf("\n");
}
}