C语言 课程设计
题 目 矩阵的运算
西 安 科 技 大 学
二 0 一 一 年 十 一 月
一、 设计目的
1. 综合C语言相关知识制作简单的应用程序
2. 灵活对程序代码进行利用,修改和编写;
3. 熟练将C语言所学知识和其它知识相结合
二、 功能描述
编写一个矩阵运算程序,能够进行矩阵加、减、乘、转置,求矩阵的最大值,最小值,对角线元素的和等
三、 流程图
四、 源程序
#define M 3
#define N 3
#define P 2
#include
void main()
{
int i,j,k,d,m=0,l=0,max,min,a[M][N],b[M][N],c[N][P];
printf("输入a矩阵:\n");
for(i=0;i
for(j=0;j
scanf("%d",&a[i][j]);
printf("输入b矩阵:\n");
for(i=0;i
for(j=0;j
scanf("%d",&b[i][j]);
printf("输入c矩阵:\n");
for(i=0;i
for(j=0;j
scanf("%d",&c[i][j]);
printf("a矩阵:\n");
for(i=0;i
{
{
for(j=0;j
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("b矩阵:\n");
for(i=0;i
{
{
for(j=0;j
printf("%4d",b[i][j]);
}
printf("\n");
}
printf("c矩阵:\n");
for(i=0;i
{
{
for(j=0;j
printf("%4d",c[i][j]);
}
printf("\n");
}
printf("a,b矩阵之和:\n");
for(i=0;i
{
{
for(j=0;j
printf("%4d",a[i][j]+b[i][j]);
}
printf("\n");
}
printf("a,b矩阵之差:\n");
for(i=0;i
{
{
for(j=0;j
printf("%4d",a[i][j]+b[i][j]);
}
printf("\n");
}
printf("a,c矩阵之积:\n");
for(i=0;i
{
{
for(j=0;j
{
for(d=0,k=0;k
d+=a[i][k]*c[k][j];
printf("%4d",d);
}
}
printf("\n");
}
printf("a矩阵的转置:\n");
for(j=0;j
{
{
for(i=0;i
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("a矩阵的最大值:\n");
max=a[0][0];
for(i=0;i
for(j=0;j
if (max
max=a[i][j];
printf("%4d\n",max);
printf("a矩阵的最小值:\n");
min=a[0][0];
for(i=0;i
for(j=0;j
if (min>a[i][j])
min=a[i][j];
printf("%4d\n",min);
printf("a矩阵的主对角线之和:\n");
for(i=0;i
m+=a[i][i];
printf("%d\n",m);
}
五、 运行界面
六、 心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
通过了这半学期的C语言课程学习和设计,我学