| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2324 人关注过本帖
标题:谁能帮我解决这题
只看楼主 加入收藏
zhujiancom
Rank: 1
来 自:江苏,南京
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-5-2
结帖率:0
收藏
 问题点数:0 回复次数:30 
谁能帮我解决这题
已知A是一个3×4的矩阵,B是一个4×5的矩阵,编写程序,从键盘输入A,B的值,求A×B得到的新矩阵C,并输出矩阵C
搜索更多相关主题的帖子: 矩阵 键盘 编写程序 
2008-05-02 13:24
zzzhou
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-12-16
收藏
得分:0 
程序代码:
//貌似应该是这样写的
#include "stdio.h"

int main()
{
    int a, b, k, A_Rows, A_Columns, B_Rows, B_Columns, C_Rows, C_Columns, Matrix_A[3][4], Matrix_B[4][5], Matrix_C[3][5];
    
    printf("请输入矩阵A的值:\n");
    for(A_Rows = 0; A_Rows < 3; A_Rows++)
    {
          for(A_Columns = 0; A_Columns < 4; A_Columns++)
          {
                        scanf("%d", &Matrix_A[A_Rows][A_Columns]);
          }
    }
    
    printf("请输入矩阵B的值:\n");
    for(B_Rows = 0; B_Rows < 4; B_Rows++)
    {
          for(B_Columns = 0; B_Columns < 5; B_Columns++)
          {
                        scanf("%d", &Matrix_B[B_Rows][B_Columns]);
          }
    }
    
    for(C_Rows = 0; C_Rows < 3; C_Rows++)
    {
               for(C_Columns = 0; C_Columns < 5; C_Columns++)
               {
                             Matrix_C[C_Rows][C_Columns] = 0;
                             for(k = 0; k < 4; k++)
                             {
                                   Matrix_C[C_Rows][C_Columns] = Matrix_C[C_Rows][C_Columns] + Matrix_A[C_Rows][k] * Matrix_B[k][C_Columns];
                             }
               }     
    }
    
    printf("矩阵C的值为:\n");
    for(C_Rows = 0; C_Rows < 3; C_Rows++)
    {
               for(C_Columns = 0; C_Columns < 5; C_Columns++)
               {
                       printf("%-4d",Matrix_C[C_Rows][C_Columns]);

               }
               putchar('\n');     
    }
    
    
    fflush(stdin);
    getchar();
}
2008-05-02 15:32
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
不用这样长的 我以前写过找下规律中间 的 几行就OK 我是把一半的都列出来 然后找规律的

[[it] 本帖最后由 yd4433 于 2008-5-2 15:40 编辑 [/it]]

------...-.-..-...-----........-------.......----.....------....||- - !
2008-05-02 15:39
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
#include<stdio.h>
#define M 3
#define N 4
#define I 5
void main()
{
    int i,j,k,a[M][N],b[N][I],c[M][I]={0},sum=0;

    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
            scanf("%d",&a[i][j]);
     for( i=0;i<N;i++)
         for(j=0;j<I;j++)
             scanf("%d",&b[i][j]);
     
    for(i=0;i<M;i++)
      for(j=0;j<I;j++)
      {  for(k=0;k<N;k++)
           c[i][j]+=a[i][k]*b[k][j];   
      }
         
    printf("\n");    
      for(i=0;i<M;i++)
      { for(j=0;j<I;j++)
              printf("%d ",c[i][j]);
        printf("\n");   
      }

}

蝴 蝶 颤 动 了 翅 膀 !!!
2008-05-02 17:27
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
4楼的答案精炼

我秀我自己
2008-05-02 18:29
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
是,而且代码书写的格式很规范,值得提倡!

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-02 18:42
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
怎么有点眼熟?

------...-.-..-...-----........-------.......----.....------....||- - !
2008-05-02 20:24
renzheuwi
Rank: 1
来 自:山西
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-6-28
收藏
得分:0 
4楼的好是好,但是肯定运行不了,因为主函数的类型应该是个INT,怎么是VOID呢

和自己喜欢的C在一起
2008-05-02 20:54
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 8# 的帖子
不要还未试验便下结论,这样为时尚早。

    其实int main(void)与 void main()在大部分编译器下都是可以正常通过的,有时候只有个main()都可以正常编译。

    int main(viod)只是最新的写法,以前都是用void main()的(见谭浩强的书).
2008-05-02 23:07
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
楼上的,你没用过 VC 吧,C++里面的main()  可都是 void .
你自己在VC 上运行一下就知道了。
实践可以证明一切

蝴 蝶 颤 动 了 翅 膀 !!!
2008-05-02 23:09
快速回复:谁能帮我解决这题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070481 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved