电子科大c语言作业一,电子科大C语言实验

《电子科大C语言实验》由会员分享,可在线阅读,更多相关《电子科大C语言实验(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 *T。

2、);/键盘输入矩阵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,。

5、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 i,j;for(i=0;imatij=0;void InitialMatrixRand(Matrix *T,int row, int col)/初始化为50以内随机正整数int i,j;f。

6、or(i=0;imatij=rand()%51;/调用rand函数的随机数printf(%7.2f,T-matij);printf(n);void InputMatrix(Matrix *T)/键盘输入矩阵int i,j;for(i=0;irow;i+)for(j=0;jcol;j+)scanf(%lf,&T-matij);void DestroyMatrix(Matrix *T)/ 释放矩阵空间int i;for(i=0;irow;i+)free(T-mati);free(T-mat);void PrintfMatrix(Matrix *T)/矩阵输出int i,j;for(i=0;irow。

7、;i+)for(j=0;jcol;j+)printf(%7.2f ,T-matij);printf(n);/输出完一行之后换行int AddMatrix(Matrix *A,Matrix *B,Matrix *C)/ 矩阵加法int i,j;for(i=0;irow;i+)for(j=0;jcol;j+)C-matij=A-matij+B-matij;return 0;int MinusMatrix(Matrix *A,Matrix *B,Matrix *C) / 矩阵减法int i,j;for(i=0;irow;i+)for(j=0;jcol;j+)C-matij=(A-matij)-(B-。

8、matij);return 0;int MultiMatrix(Matrix *A,Matrix *B,Matrix *C) /矩阵乘法int i,j,k;for(i=0;irow;i+)for(j=0;jcol;j+)for(k=0;kcol;k+)C-matij=(C-matij)+(A-matik)*(B-matkj);return 0;double MeanMatrix(Matrix *T) /矩阵元素均值int i,j;double sum=0.0,ave;for(i=0;irow;i+)for(j=0;jcol;j+)sum=sum+T-matij;ave=sum/(T-row*T-col);return ave;int SubMatrix(Matrix *T1,Matrix *T2,int BeginRow,int BeginCol,int EndRow,int EndCol)/求T1的子矩阵T2;int i,j;for(i=0;imatij)=(T1-mati+BeginRow-1j+BeginCol-1);return 0;。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值