C语言求助!关于用数组求两个3*3矩阵相乘的问题,急!!!解决问题的再追加分!

请帮忙编写一个C语言程序,求两个3*3矩阵a,b相乘所得的矩阵。注意输入输出方式!(我被这里难住了)输入的两个矩阵的9个数字要排成一行,而输出的矩阵c要求用正常的3*3格... 请帮忙编写一个C语言程序,求两个3*3矩阵a,b相乘所得的矩阵。注意输入输出方式!(我被这里难住了)输入的两个矩阵的9个数字要排成一行,而输出的矩阵c要求用正常的3*3格式输出。还有,请只用数组编写,不用指针。编写时请加上注释,本人才开始学,有点菜,烦请编程达人们多多指教!谢谢! 展开
 我来答
愁情三脚猫
推荐于2018-04-07
知道答主
回答量:1
采纳率:100%
帮助的人:1497
展开全部
跟着步骤输入就好。可以做任两个矩阵的乘法。
#include <stdio.h>
void main()
{
int m,n,q,i,j,k,s=0,t=0,a[9][9],b[9][9],c[9][9];
printf("请输入a矩阵的行数m和列数n以及b矩阵的行数n和列数q:\n");
scanf("%d%d%d",&m,&n,&q);
printf("请输入a矩阵的m*n个数:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",a[i]+j);
}
printf("请输入b矩阵的n*q个数:\n");
for(i=0;i<n;i++)
{
for(j=0;j<q;j++)
scanf("%d",b[i]+j);
}
for(i=0;i<m;i++)

for(j=0;j<q;j++)
{
for(k=0;k<n;k++)
{

t=a[i][k]*b[k][j];
s=s+t;
}
c[i][j]=s;
s=0;
}

for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
printf("%6d",c[i][j]);
printf("\n");
}
}
匿名用户
2013-05-19
展开全部
#include<stdio.h>
void main()
{
int i,j,k=0; //一位数组初始化
int a[9]={12,34,23,34,45,34,35,45,34};
int b[9]={45,26,34,45,87,34,98,45,90};
//输出一位数组a[9] b[9]
printf("a[9]:");
for(i=0;i<9;i++)
printf("%d ",a[i]); printf("\n\n");

printf("b[9]:");
for(i=0;i<9;i++)
printf("%d ",b[i]);
//定义3*3二维数组
int c[3][3];

//依照3*3矩阵格式打印结果
printf("\n结果为:\n\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
//两个一位数组相乘的结果存入二维数组c[3][3]
c[i][j]=a[k]*b[k];
//k的主要目的是控制a[k]*b[k],
//这样可以取出a[0]-a[8],b[0]-[8]的值相乘存入数组
k++;
// %-6d只是控制输出格式好看点,没什么作用,直接写%d就可以
printf("%-6d",c[i][j]);
}
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式