使用C语言编写一个程序完成以下任务

一、使用C语言编写一个程序完成以下任务:
1.使用键盘输入二个3×3维矩阵A、B
2.输出A的转置
3.求A×B并且输出计算结果 (要求以矩阵形式输出,矩阵符号不要求。)

实验数据: A= B=

二、题中3×4数组StudentGrades代表了各门成绩,其中数组的每一行代表一个学生,每一列代表该学生在本学期四次测验成绩中的每次成绩。设计子函数minimum、maximum和average分别计算学生在本学期中的最低成绩,最高成绩和平均成绩。用子函数printArray以整齐表格格式输出该二维数组。
StudentGrades[3][4] = {{77,68,86,73},{96,87,89,78},{70,90,86,81}}

1,解:源程序如下:
#include <stdio.h>
int juzhen(int a[3][3])
{
int i,j,t;
for (i=0;i<3;i++)
for (j=i+1;j<3;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
int juchen(int a[3][3],int b[][3],int c[][3])
{
int i,j;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
{
c[i][j]=a[i][j]*b[i][j];
}
}
main()
{
int i,j,a[3][3],b[3][3],c[3][3];
clrscr();
printf("please enter A juzhen:\n");
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("please enter B juzhen:\n");
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",&b[i][j]);
printf("A=:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("B=:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%3d",b[i][j]);
printf("\n");
}
juzhen (a);
printf("A'=:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
juchen(a,b,c);
printf("A*B=:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%3d",c[i][j]);
printf("\n");
}
}
2,解:源程序如下:
int printarray(int d[][4])
{
int i,j;
for (i=0;i<3;i++)
{
for (j=0;j<4;j++)
printf("%5d",d[i][j]);
printf("\n");
}
}
int minimum(int a[][4])
{
int i,j,min=a[0][0];
for (i=0;i<3;i++)
for (j=0;j<4;j++)
if (a[i][j]<min)
min=a[i][j];
return min;
}
int maximum(int b[][4])
{
int i,j,max=b[0][0];
for (i=0;i<3;i++)
for (j=0;j<4;j++)
if (b[i][j]>max)
max=b[i][j];
return max;
}
float average (int c[][4])
{
int i,j;
float s=0;
for (i=0;i<3;i++)
for (j=0;j<4;j++)
s=s+c[i][j];
return s/4;
}
main()
{
int StudentGrades[3][4]={{77,68,86,73},{96,87,89,78},{70,90,86,81}};
int i,j,minscore,maxscore;
float avgscore;
clrscr();
printarray(StudentGrades);
minscore=minimum(StudentGrades);
maxscore=maximum(StudentGrades);
avgscore=average(StudentGrades);
printf("maxscore=%d\n",maxscore);
printf("minscore=%d\n",minscore);
printf("avgscore=%0.2f\n",avgscore);

}
这两个源程序就不用解释了吧!唉,有点累,搞了半天,兄弟说实话你给的分太少了!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-09-24
简单拉
第2个回答  2007-09-25
问一下,什么是”输出A的转置”?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网