《电子科大C语言实验10》由会员分享,可在线阅读,更多相关《电子科大C语言实验10(8页珍藏版)》请在金锄头文库上搜索。
1、#include#include#includetypedef structdouble * mat;int row;int col;Matrix;Matrix max;int main()void InitialMatrix(Matrix *T, int row,int col);/只分配空间不初始化;void InitialMatrixZero(Matrix *T,int row, int col);/初始化为0void InitialMatrixRand(Matrix *T,int row, int col);/初始化为50以内随机正整数void InputMatrix(Matrix *
2、T);/键盘输入矩阵void DestroyMatrix(Matrix *T);/ 释放矩阵空间void PrintfMatrix(Matrix *T);/矩阵输出int AddMatrix(Matrix *A,Matrix *B,Matrix *C); / 矩阵加int MinusMatrix(Matrix *A,Matrix *B,Matrix *C); / 矩阵减int MultiMatrix(Matrix *A,Matrix *B,Matrix *C); /矩阵乘法double MeanMatrix(Matrix *T); /矩阵元素均值int SubMatrix(Matrix *T1
3、,Matrix *T2,int BeginRow,int BeginCol,int EndRow,int EndCol); /求T1的子矩阵T2;srand(unsigned) time(NULL);/用时间做种int n;printf( 矩阵函数测试,请选择功能,输入对应的数字:n);printf(*n);printf( 1:输入一个矩阵,求矩阵均值;n);printf( 2:产生一个随机数矩阵,求矩阵均值;n);printf( 3:输入两个个矩阵,求矩阵和;n);printf( 4:输入两个个矩阵,求矩阵差;n);printf( 5:输入两个个矩阵,求矩阵积;n);printf( 6:产生
4、两个个随机数矩阵,求矩阵和;n);printf( 7:产生两个个随机数矩阵,求矩阵差;n);printf( 8:产生两个个随机数矩阵,求矩阵积;n);printf( 9:求矩阵的子阵,如矩阵的2-4行,1-3列的子阵;n);printf( 0:结束!n);scanf(%d,&n);if(n=0)exit(0);Matrix m,p,q;printf(输入矩阵的行数n);scanf(%d,&m.row);printf(输入矩阵的列数n);scanf(%d,&m.col);InitialMatrix(&m,m.row,m.col);/分配内存空间InitialMatrixZero(&m,m.row,m.col);/初始化为0if(n2&nmat=(double*)malloc(row*col)*sizeof(double*);/为指针数组分配内存for(i=0;irow;i+)T-mati=(double*)malloc(T-col*sizeof(double);/为数组中的数分配内存void InitialMatrixZero(Matrix *T,int row, int col)/初始化为0int