c语言。给定一个5行5列的二维数组a[5][5],通过scanf函数给数组赋值,以矩阵的形式输出数

c语言。给定一个5行5列的二维数组a[5][5],通过scanf函数给数组赋值,以矩阵的形式输出数组,并用函数调用实现下列算法:(1)矩阵的转置(行列互换,存入到另一个数... c语言。给定一个5行5列的二维数组a[5][5],通过scanf函数给数组赋值,以矩阵的形式输出数组,并用函数调用实现下列算法:
(1)矩阵的转置(行列互换,存入到另一个数组中,并打印输出转置后的数组)
(2)求主对角线上各个数字的和,打印输出该结果
(3)打印输出矩阵a左下半的三角元素
(4)给定数组b[5][2],计算矩阵a和b的乘积,结果放入到c数组中,并将c以矩阵的形式输出c
展开
 我来答
百度网友ae58d71
推荐于2016-10-02 · TA获得超过350个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:261万
展开全部
#include<stdio.h>
int main()
{
int a[5][5],trans[5][5],b[5][2],c[5][2],sum=0,i,j,k,temp;
for(i=0;i<5;i++)//初始数组a[5][5]的录入
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);

for(i=0;i<5;i++)//数组的转置
for(j=0;j<5;j++)
trans[j][i]=a[i][j];
printf("矩阵转置后:\n");
for(i=0;i<5;i++)//转置后的数组的输出
{
for(j=0;j<5;j++)
printf("%d ",trans[i][j]);
printf("\n");
}
printf("\n");

for(i=0;i<5;i++)//主对角线上各个数字之和
sum=sum+a[i][i];
printf("矩阵主对角线上的数字之和为:%d\n",sum);
printf("\n");

printf("打印输出矩阵a左下半的三角如下:\n");
for(i=0;i<5;i++)//打印输出矩阵a左下半的三角元素
{
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
}

printf("输入新的数组b[5][2]: \n");
for(i=0;i<5;i++)//录入数组b[5][2],同时对数组c初始化
{
for(j=0;j<2;j++)
{
scanf("%d",&b[i][j]);
c[i][j]=0;
}
}
for(i=0;i<5;i++)//矩阵相乘
{
for(j=0;j<2;j++)
{
temp=0;
for(k=0;k<5;k++)
temp+=a[i][k]*b[k][j];
c[i][j]=temp;
}
}
for(i=0;i<5;i++)//相乘后的矩阵的输出
{
for(j=0;j<2;j++)
printf("%d ",c[i][j]);
printf("\n");
}
return 0;
}

幸不辱命!代码调试成功的。。

807530200
2015-07-15
知道答主
回答量:29
采纳率:0%
帮助的人:9.3万
展开全部
然而只有二十分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式