资源描述:
《矿大徐海软件开发基础实践报告--.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、中国矿业大学徐海学院软件开发基础实践报告姓名:学号:专业:计算机科学与技术指导教师:职称:2012年6月30徐州姓名/学号:班级:一、程序来源:网络二、程序项目名称:矩阵运算三、程序原理:此程序为矩阵运算的相关程序,用来计算包括两矩阵的加、减、乘运算,求矩阵的转置矩阵、最大值元素、最小值元素及对角线元素之和等运算。此程序涉及了老师讲授的多个知识点,包括:for、if、printf及scanf等语句,顺序、选择、循环等结构。四、程序功能:利用for、if、printf及scanf等语句来实现所需功能。输入矩阵a和b的元素之后,依次计算:程序一:计算a+b矩阵;程序二:计算a-b矩
2、阵;程序三:计算a*b矩阵;程序四:计算a的转置矩阵;程序五:计算a矩阵的最小值元素;程序六:计算a矩阵的最大值元素;程序七:计算a矩阵的主对角线元素之和;程序八:计算a矩阵的副对角线元素之和;程序九:计算a矩阵的上三角元素之和;程序九:计算a矩阵的下三角元素之和;五、程序内容(输入输出):运行结果如图所示:六、数据流分析(定义的变量,类型,数组,类型,结构体):七、程序代码分析(每个函数和代码模块的功能作用分析):#include"stdio.h"voidmain(){inta[3][3],b[3][3],c[3][3],inti,j,k,s,max,min,sum1=0,s
3、um2=0,sum3=0,sum4=0;printf("矩阵运算");printf("");printf("请输入a矩阵元素:");for(i=0;i<3;i++)/*通过二重循环给a矩阵的元素赋值*/for(j=0;j<3;j++)scanf("%4d",&a[i][j]);printf("a矩阵:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%6d",a[i][j]);printf("");}printf("");printf("请输入b矩阵元素:");for(i=0;i<3;i++)/*通过二重循环给b
4、矩阵的元素赋值*/for(j=0;j<3;j++)scanf("%4d",&b[i][j]);printf("b矩阵:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%6d",b[i][j]);printf("");}printf("");printf("程序一:计算a+b矩阵");/*计算a+b矩阵并输出*/for(i=0;i<3;i++){for(j=0;j<3;j++){c[i][j]=a[i][j]+b[i][j];printf("%6d",c[i][j]);}printf("");}printf("");
5、printf("程序二:计算a-b矩阵");/*计算a-b矩阵并输出*/for(i=0;i<3;i++){for(j=0;j<3;j++){c[i][j]=a[i][j]-b[i][j];printf("%6d",c[i][j]);}printf("");}printf("");printf("程序三:计算a*b矩阵");/*计算a*b矩阵(c矩阵)并输出*/for(i=0;i<3;i++)/*最外层循环控制c矩阵的行数*/for(j=0;j<3;j++)/*次外层循环控制c矩阵的列数*/{for(k=s=0;k<3;k++)/*计算c矩阵的每个元素的值*/s+
6、=a[i][k]*b[k][j];c[i][j]=s;}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%6d",c[i][j]);printf("");}printf("");printf("程序四:计算a的转置矩阵");/*计算a的转置矩阵并输出*/for(i=0;i<3;i++)for(j=0;j<3;j++)c[j][i]=a[i][j];for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%6d",c[i][j]);printf("");}printf("");printf("程序五:
7、计算a矩阵的最小值元素");/*计算a矩阵的最小值元素min并输出*/min=a[0][0];for(i=0;i<3;i++)for(j=0;j<3;j++)if(a[i][j]