急求矩阵乘积的C程序,要求先判断是否可乘! 急急急啊!!!

急求矩阵乘积的C程序,要求先判断是否可乘! 急急急啊!!!,第1张

#include<stdioh>

void fact1()

{

int i,j,a,b,count=0;

printf("请输入矩阵的行、列数:\t");

scanf("%d%d",&a,&b);

int A[a][b],B[a][b],C[a][b];

printf("开始输入矩阵A的元素值:\n");//读入矩阵A

for(i=0;i<a;i++)

for(j=0;j<b;j++)

scanf("%d",&A[i][j]);

printf("开始输入矩阵B的元素值:\n"); //读入矩阵B

for(i=0;i<a;i++)

for(j=0;j<b;j++)

scanf("%d",&B[i][j]);

printf("矩阵的和为C=A+B:\n");

for(i=0;i<a;i++)

for(j=0;j<b;j++){

C[i][j]=A[i][j]+B[i][j];

printf("%d ",C[i][j]);

count++;//换行标记

if(count%b==0)

printf("\n");//每行输出b个元素就换行,即按照矩阵形式输出

}

}

void fact2()

{

int x,y,a,b,flag;

int i,j,k,temp=0,count=0;

printf("请输入矩阵A的行、列数:\t");

scanf("%d%d",&x,&y);

printf("请输入矩阵B的行、列数:\t");

scanf("%d%d",&a,&b);

if(y!=a) flag=1;//标记第一次输入的a是否正确

while(y!=a)//重新输入,直到正确为止

{

printf("矩阵B的行数不等于矩阵A的列数,无法相乘!\n");

printf("请重新输入矩阵B的行数:\t");

scanf("%d",&a);

};

if(flag==1)//a的值非一次性输入提示

printf("\n输入正确!!!\n\n");

int A[x][y],B[a][b],C[x][b],D[y];//数组D用来计算矩阵C

printf("开始输入矩阵A的元素值:\n");//读入矩阵A

for(i=0;i<x;i++)

for(j=0;j<y;j++)

scanf("%d",&A[i][j]);

printf("开始输入矩阵B的元素值:\n"); //读入矩阵B

for(i=0;i<a;i++)

for(j=0;j<b;j++)

scanf("%d",&B[i][j]);

printf("矩阵C=A x B为:\n");//计算矩阵C

for(i=0;i<x;i++)

for(j=0;j<b;j++)

{

for(k=0;k<y;k++)//C[i][j]等于y对"对应"元素乘积之和

{

D[k]=A[i][k]B[k][j];//两个"对应"元素相乘,并保存到数组D中

temp=D[k]+temp;//将数组D中的所有元素相加即为C[i][j]

}

C[i][j]=temp;

printf("%d ",C[i][j]);

count++;//换行标记

if(count%y==0)

printf("\n");//每行输出y个元素就换行

temp=0;

}

}

int main(void)

{

int choice;

printf("1、求两个矩阵的和\n");//函数功能

printf("2、求两个矩阵的积\n");//函数功能

printf("请输入您的选择:\t");

scanf("%d",&choice);

switch(choice){

case 1:{ fact1();};break;

case 2:{ fact2();};break;

}

printf("\n");

return 0;

}

我这个还可以计算矩阵的加法,选我吧!

建议输入矩阵的时候就按照矩阵的排列方式输入,每行数字间用空格隔开,换行就回车,方便观看。

这绝对不是粘贴复制别人的,因为我们以前也布置过同样的作业

#include<stdioh>

void main()

{

int a,b;

y=ab;

scanf("%d%d\n",a,b);

printf("%d\n",y);

}

被除数不能为0,所以当num2=0的时候,程序就报错了。 还有,你两个数都是int型的。商是double型,在处理的时候,加一个强制转换shang=(double)num1/num2;这样就可以了

以上就是关于急求矩阵乘积的C程序,要求先判断是否可乘! 急急急啊!!!全部的内容,包括:急求矩阵乘积的C程序,要求先判断是否可乘! 急急急啊!!!、C语言或C++ 编写程序,从键盘输入两个数,并将这两个数的积显示出来、用c语言设计一个计算两个整数的和、差、积、商、和余数的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9468481.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存