C语言程序设计报告 矩阵运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C程序设计报告

学院:地质与环境学院

专业:资源勘查工程0901

姓名:***

学号:**********

目录1.设计任务书

1.1题目

1.2设计要求

1.3程序涉及的知识点

2.功能设计

2.1算法设计

2.2部分模块流程图

3.程序代码设计

3.1源代码

3.2运行结果

4.运行结果

5.程序设计总结

6.致谢

7.参考文献

1设计任务书

1.1 题目

矩阵运算

1.2 设计要求

此程序为矩阵运算的相关程序,用来计算包括两矩阵的加、减、乘运算,求矩阵的转置矩阵、最大值元素、最小值元素及对角线元素之和等运算。

1.2 本系统涉及的知识点

此程序涉及了老师讲授的多个知识点,包括:for、if、printf及scanf 等语句,顺序、选择、循环等结构。

2功能设计

2.1 算法设计

此程序需要实现的功能要求:

利用for、if、printf及scanf 等语句来实现所需功能。

输入矩阵a和b的元素之后,依次计算:

程序一:计算a+b矩阵;

程序二:计算a-b矩阵;

程序三:计算a*b矩阵;

程序四:计算a的转置矩阵;

程序五:计算a矩阵的最小值元素;

程序六:计算a矩阵的最大值元素;

程序七:计算a矩阵的主对角线元素之和;

程序八:计算a矩阵的副对角线元素之和;

程序九:计算a矩阵的上三角元素之和;

程序九:计算a矩阵的下三角元素之和;

2.2 部分模块流程图

3 程序源代码

3.1源代码

#include"stdio.h"

void main()

{

int a[3][3],b[3][3],c[3][3],

int i,j,k,s,max,min,sum1=0,sum2=0,sum3=0,sum4=0;

printf("矩阵运算\n");

printf("\n");

printf("请输入a矩阵元素:\n");

for(i=0;i<3;i++) /*通过二重循环给a矩阵的元素赋值*/ for(j=0;j<3;j++)

scanf("%4d",&a[i][j]);

printf("a矩阵:\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

printf("%6d",a[i][j]);

printf("\n");

}

printf("\n");

printf("请输入b矩阵元素:\n");

for(i=0;i<3;i++) /*通过二重循环给b矩阵的元素赋值*/ for(j=0;j<3;j++)

scanf("%4d",&b[i][j]);

printf("b矩阵:\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

printf("%6d",b[i][j]);

printf("\n");

}

printf("\n");

printf("程序一:计算a+b矩阵\n"); /*计算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("\n");

}

printf("\n");

printf("程序二:计算a-b矩阵\n"); /*计算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("\n");

}

printf("\n");

printf("程序三:计算a*b矩阵\n"); /*计算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+=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("\n");

}

printf("\n");

printf("程序四:计算a的转置矩阵\n"); /*计算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("\n");

}

printf("\n");

printf("程序五:计算a矩阵的最小值元素\n"); /*计算a矩阵的最小值元素min并输出*/

min=a[0][0];

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(a[i][j]

min=a[i][j];

printf("min=%d\n",min);

printf("\n");

printf("程序六:计算a矩阵的最大值元素\n"); /*计算a矩阵的最大

相关文档
最新文档