使用C语言编写一个程序完成以下任务
一、使用C语言编写一个程序完成以下任务:1.使用键盘输入二个3×3维矩阵A、B2.输出A的转置3.求A×B并且输出计算结果(要求以矩阵形式输出,矩阵符号不要求。)实验数据...
一、使用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.使用键盘输入二个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}} 展开
3个回答
展开全部
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);
}
这两个源程序就不用解释了吧!唉,有点累,搞了半天,兄弟说实话你给的分太少了!
#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);
}
这两个源程序就不用解释了吧!唉,有点累,搞了半天,兄弟说实话你给的分太少了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询