永发信息网

c语言程序设计 矩阵加法

答案:5  悬赏:20  手机版
解决时间 2021-11-22 21:31
c语言程序设计 矩阵加法
最佳答案
#include
void main()
{
int a[15][15],i,j,k,t,b;
printf("请输入一个3行3列的矩阵:
");

//<----此处覆盖掉了矩阵1;

for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("请输入另一个3行3列的矩阵
");
for(k=0;k<3;k++)
for(t=0;t<3;t++)
scanf("%d",&a[k+3][t+3]);
printf("矩阵【1】
");
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("
");
}
printf("矩阵【2】
");
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ",a[i+3][j+3]);
printf("
");
}

printf("请选择要进行的运算:1 相加 2 相乘
");
scanf("%d",&b);
//<----------楼主此处以下的四个for一一嵌套算出来的结果没什么意义。
if(b==1)
{
printf("相加:
");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=a[i][j]+a[i+3][j+3];
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("
");}
}
if(b==2)
{
printf("相乘:
");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i+6][j+6] = a[i][0]*a[3][j+3] + a[i][1]*a[4][j+3] + a[i][2]*a[5][j+3];
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ",a[i+6][j+6]);
printf("
");
}
}
}复制后可直接编译运行,结果如下:格式可自行修改。


全部回答
我直接说您错哪了吧,在我的理解里,你的两次都是赋给了同样的元素,那么第一次肯定会被覆盖吧。
所以你下面的a[i][j]可能不存在了吧
main()
{
    int a[3][3],b[3][3],c[3][3]={0},i,j,d,r;
    printf("请输入一个3行3列的矩阵A: ");
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",&a[i][j]);
    printf("请输入另一个3行3列的矩阵B:  ");
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",&b[i][j]);
    printf("请选择要进行的运算:1 相加 2 相乘  ");
    scanf("%d",&d);
    if(d==1)
    {
        for( i=0; i<3; i++ )
        {
            for( j=0; j<3; j++ )
            {
                c[i][j] = a[i][j] + b[i][j];
                printf( "%d ", c[i][j] );
            }
            printf( " " );
        }
    }
    else
    {
        for( i=0; i<3; i++ )
        {
            for( j=0; j<3; j++ )
            {
                for( r=0; r<3; r++ )
                {
                    c[i][j] += a[i][r] * b[r][i];
                    printf( "%d ", c[i][j] );
                }
                printf( " " );
            }
        }
    }
}
#include 

void main()
{
int a[15][15],arrb[15][15],i,j,k,t,b;
printf("请输入一个3行3列的矩阵: ");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);

printf("请输入另一个3行3列的矩阵 ");
for(k=0;k<3;k++)
for(t=0;t<3;t++)
scanf("%d",&arrb[k][t]);

printf("请选择要进行的运算:1 相加 2 相乘  ");
scanf("%d",&b);
if(b==1)
{
for(i=0,k=0;i<3,k<3;i++,k++)
{
for(j=0,t=0;j<3,t<3;j++,t++)
{
a[i][j]=a[i][j]+arrb[k][t];
printf("%d ",a[i][j]);
}
printf(" ");
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
想改氙气大灯,不知道去4S店能不能改呢
电脑内存八g怎么在装个内存条
单向板肋形梁楼盖L1*L2为16.5m*33m 这个怎么
鞋子粘土怎么办
W在物理中指什么
2015年如何介定女性退休年龄?
枫亭汽车站有公交到仙游汽车站的那?
560除以25乘43的脱试计算
寺冈SM-100条码秤标签纸打印不出来怎么办
小心过于快速没有看清真相,的意思
男生对女生说一句“有我呢,只要有我在”代表
视频|x-2|-|x+3l的最大值和最小值
Q=200+0.1M,M=2000时,求收入弹性,需要简述
海拉汽车喇叭如何?
世界三大宗教的分支
推荐资讯
怎么学习建筑?
第三季欢乐戏剧人赵四跳的慢摇是什么歌
脆脆的炸扁豆夹怎么做好吃又简单,做法图
在中国南方到那个省那个城市看海好呢?
18650怎么焊是好
斯柯达和大众同平台,为什么斯柯达便宜这么多
天津市社会保险费征集申报表如何补办
周公解梦别人说我脸胖
弘光帝为何不能成为赵构?
甲仓库存粮食480吨比乙仓库多1/5仓库存量
广州厚特立塑料五金制造有限公司怎么样?
现在沂南县农村还能盖2层的房子吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?