代码是对整数的 如果要对小数的话 改个字符就OK啦
用途没有 就是做线性代数怕计算罢了
#include <stdio.h> void createMatrix(int a[10][10], int m, int n) { for (int i = 0;i < m; ++i) { for (int j = 0;j < n; j++) { scanf_s("%d", &a[i][j]); } } } void inputMatrix(int a[10][10], int m, int n) { for (int i = 0;i < m; ++i) { for (int j = 0;j < n; j++) { printf("%d ", a[i][j]); } printf("\n"); } } void calculateMatrix(int a[10][10], int b[10][10], int c[10][10],int s,int n, int m) { for (int i = 0; i < 10;++i) for (int j = 0;j < 10;++j) c[i][j] = 0; for (int i = 0;i < s;++i) { for (int t = 0;t < m;++t) { for (int j = 0;j < n;++j) { c[i][t] = c[i][t] + a[i][j] * b[j][t]; } } } } int main() { int a[10][10], b[10][10], c[10][10]; int s, n1, n2, m; printf("矩阵A几行几列:"); scanf_s("%d %d", &s, &n1); printf("矩阵B几行几列:"); scanf_s("%d %d", &n2, &m); if (n1 != n2) { printf("矩阵A与矩阵B无法相乘\n"); return 0; } printf("输入矩阵A:\n"); createMatrix(a, s, n1); printf("输入矩阵B:\n"); createMatrix(b, n2, m); calculateMatrix(a, b, c, s, n1, m); printf("矩阵C结果计算为:\n"); inputMatrix(c, s, m); return 0;