矩阵的加法、乘法、减法、转置,求对角线元素之(2)
发布时间:2021-06-07
发布时间:2021-06-07
矩阵的加法、乘法、减法、转置,求对角线元素之和等C语言程序设计
实 验 名 称
写出矩阵运算的编程(包括矩阵的加法、减法、乘法、 实验 除法、对角线元素之和、下三角元素之和等) 类型
设 计 型 √
综 合 型
1.掌握 C 函数的定义方法,函数的调用方法,参数说明以及返回值。
2.掌握函数的嵌套调用及递归调用的设计方法。 实 验 目 的 或 要 求
3.在编程过程中加深理解函数调用的设计思想.
4.理解并掌握一维数组、二维数组的定义及引用。
5.熟练掌握数组的查找及排序的编程方法。
6.掌握字符串数组和字符串的使用方法及常用字符串函数在程序中的使用。
实 验 环 境
visualC++6
矩阵的加法、乘法、减法、转置,求对角线元素之和等C语言程序设计
开始 i=0否
开始
i=0 否 i<M
i<=M-1 是 j=0 否 j<=N-1 是l<H 是 l=0
否
输入数据
是 j=0 否 j<N
j++
算 法 流 程 图
i++
是 Sum+=a[i][j]*b[j][l]
结束输出 sum
l++
换行
l++
结束
矩阵的加法、乘法、减法、转置,求对角线元素之和等C语言程序设计
矩阵加法矩阵是 3*4 的 #include<stdio.h> void main() { int a[3][4],b[3][4],c[3][4],i,j; printf("please input a array:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } } printf("please input b array:\n"); for(i=0;i<3;i++) { scanf("%d",&b[i][j]); } } printf("result is array c:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) { c[i][j]=a[i][j]+b[i][j]; printf("%d,",c[i][j]); } } printf("\n"); printf("press anykey exit:"); getchar(); }
矩 阵 加 法 程 序
矩阵的加法、乘法、减法、转置,求对角线元素之和等C语言程序设计
矩 阵 乘 法 程 序
*/ #include"stdio.h" /*下面定义的为 line 列 row 为行 #define line 4 #define row 4 /*矩阵乘法*/ main() { int i=0,j=0,k=0,n=0,m=0;/*k 为待输入值*/ int s=0;/*此处作为输出变量*/ int middle=0; /*中间值*/ int a[row][line],b[line][row]; long c[row][row]; for(i=0;i<row;i++) { for(j=0;j<line;j++) { scanf("%d",&k); a[i][j]=k; printf("\ta[%d][%d]=%d\n",i,j,a[i][j]); } } printf("\n"); for(i=0;i<line;i++) { for(j=0;j<row;j++) { scanf("%d",&k); b[i][j]=k; printf("\tb[%d][%d]=%d\n",i,j,b[i][j]); } } printf("\n"); /*此时,用来做乘法的 a[][],b[][]矩阵输入完毕*/ /*开始矩阵乘法*/ for(i=0;i<row;i++) for(j=0;j<row;j++) { for(s=0;s<line;s++) { n=a[i][s]; printf("%d\n",n); m=b[s][j]; printf("%d\n",m); middle+=n*m; } printf("\t%d\n",middle);
矩阵的加法、乘法、减法、转置,求对角线元素之和等C语言程序设计
getch(); c[i][j]=middle; printf("c[%d][%d]=%ld\n",i,j,c[i][j]);/*矩阵输出*/ getch(); middle=0; } getch(); / #include <stdio.h> #define N 3 int main() { int arr[N][N]={1,2,3,4,5,6,7,8,9},i,j,a[N][N]; /* for(i=0;i <N;i++) for(j=0;j <N;j++) scanf( "%d ",&arr[i][j]); */ for(i=0;i <N;i++){ for(j=0;j <N;j++) printf( "%d\t ",arr[i][j]); printf( "\n "); } printf( "\n\n "); for(i=0;i <N;i++) for(j=0;j <N;j++) a[i][j]=arr[j][i]; for(i=0;i <N;i++){ for(j=0;j <N;j++) printf( "%d\t ",a[i][j]); printf( "\n "); } system( "pause "); return 0; }
矩 阵 的 转 置 程 序
上一篇:项目实践报告内页(模板)