矩阵运算——C语言实现

2026/4/29 23:34:41

}

}

printf(\矩阵的差为:A-B=\\n\\n\PrintfMatrix(&C);

else printf(\无法计算!\\n\\n\DestroyMatrix(&A); DestroyMatrix(&B); DestroyMatrix(&C);

if (inputevent == 5) { int able; }

printf(\您要输入的矩阵A的行数和列数e.g: 5,6: \scanf(\InitialMatrix(&A, row, col);

InitialMatrixZero(&A, A.row, A.col); InputMatrix(&A);

printf(\您要输入的矩阵B的行数和列数e.g:5,6: \scanf(\InitialMatrix(&B, row, col);

InitialMatrixZero(&B, B.row, B.col); InputMatrix(&B);

InitialMatrix(&C, A.row, B.col); InitialMatrixZero(&C, C.row, C.col);

able = MultiMatrix(&A, &B, &C); if (able == 1) {

printf(\积为:A*B\\n\\n\ PrintfMatrix(&C); }

else printf(\无法计算!\\n\\n\DestroyMatrix(&A); DestroyMatrix(&B); DestroyMatrix(&C);

if (inputevent == 6) { printf(\您要产生的矩阵A的行数和列数e.g:5,6: \ scanf(\ InitialMatrix(&A, row, col);

InitialMatrixRand(&A, row, col); printf(\为:\\n\\n\PrintfMatrix(&A);

printf(\您要产生的矩阵B的行数和列数e.g:5,6: \ scanf(\ InitialMatrix(&B, row, col);

InitialMatrixRand(&B, row, col); printf(\为:\\n\\n\ PrintfMatrix(&B);

InitialMatrix(&C, A.row, A.col); InitialMatrixZero(&C, C.row, C.col); if (AddMatrix(&A, &B, &C) == 1) { printf(\矩阵的和为:A+B=\\n\\n\ PrintfMatrix(&C); }

else printf(\无法计算!\\n\\n\

DestroyMatrix(&A); DestroyMatrix(&B); DestroyMatrix(&C); }

if (inputevent == 7) { printf(\您要产生的矩阵A的行数和列数e.g:5,6: scanf(\ InitialMatrix(&A, row, col);

InitialMatrixRand(&A, row, col);

printf(\您要产生的矩阵B的行数和列数e.g:5,6: scanf(\ InitialMatrix(&B, row, col);

InitialMatrixRand(&B, row, col); InitialMatrix(&C, A.row, A.col); InitialMatrixZero(&C, C.row, C.col); if (MinusMatrix(&A, &B, &C) == 1) { printf(\矩阵的差为:A-B=\\n\\n\ PrintfMatrix(&C); }

else printf(\无法计算!\\n\\n\

\\

}

DestroyMatrix(&A); DestroyMatrix(&B); DestroyMatrix(&C);

if (inputevent == 8) { printf(\您要产生的矩阵A的行数和列数e.g:5,6: \\n\ scanf(\ InitialMatrix(&A, row, col); InitialMatrixRand(&A, row, col); }

printf(\为:\\n\\n\PrintfMatrix(&A);

printf(\您要产生的矩阵B的行数和列数e.g:5,6: \\n\scanf(\InitialMatrix(&B, row, col);

InitialMatrixRand(&B, row, col); printf(\为:\\n\\n\PrintfMatrix(&B);

InitialMatrix(&C, A.row, A.col); InitialMatrixZero(&C, C.row, C.col); if (MultiMatrix(&A, &B, &C) == 1) { }

printf(\积为:A*B=\\n\\n\PrintfMatrix(&C);;

else printf(\无法计算;\\n\\n\DestroyMatrix(&A); DestroyMatrix(&B); DestroyMatrix(&C);

if (inputevent == 9) printf(\对不起,该函数尚在完善中\\n\\n\if (inputevent == 10) NMatrix(); if (inputevent == 0) break;

printf(\ 矩阵函数测试,请选择功能,输入对应的数字:\\n\

printf(\printf(\:输入一个矩阵,求矩阵均值;\\n\

printf(\:产生一个随机数矩阵,求矩阵均值;\\n\ printf(\:输入两个个矩阵,求矩阵和;\\n\ printf(\:输入两个个矩阵,求矩阵差;\\n\ printf(\:输入两个矩阵,求矩阵积;\ printf(\:产生两个随机数矩阵,求矩阵和;\\n\ printf(\:产生两个随机数矩阵,求矩阵差;\\n\ printf(\:产生两个随机数矩阵,求矩阵积;\\n\ printf(\求矩阵的子阵,如矩阵的2-4行D,1-3列的子阵;\\n\ printf(\:输入一个方阵,求其逆矩阵\\n\ printf(\结束!\\n\ printf(\选择:\ scanf(\ } return 0; }

//其他函数

void InitialMatrix(Matrix *T, int row, int col) {

//printf(\分配内存中......\\n\int i;

int succ = 1;

//T=(Matrix *)malloc(sizeof(Matrix)); T->row = row; T->col = col;

T->mat = (double **)malloc(T->row * sizeof(double *)); if (T->mat == NULL) { succ = 0; } else { for (i = 0; i < T->row; i++) { T->mat[i] = (double *)malloc(T->col * sizeof(double)); if (T->mat[i] == NULL) { succ = 0; break;


矩阵运算——C语言实现.doc 将本文的Word文档下载到电脑
搜索更多关于: 矩阵运算——C语言实现 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219