天天看點

用C語言生成2個随機的矩陣并進行乘法運算

#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");
	}
}
           

繼續閱讀