| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2389 人关注过本帖
标题:编程计算两个矩阵的乘积输入后没反应
取消只看楼主 加入收藏
胡文涛
Rank: 1
来 自:北京 朝阳
等 级:新手上路
帖 子:29
专家分:0
注 册:2016-6-30
结帖率:87.5%
收藏
 问题点数:0 回复次数:2 
编程计算两个矩阵的乘积输入后没反应
编写了一个程序计算两个3*3矩阵的乘积,想让它有MATLAB的显示风格。代码如下:
#include<stdio.h>
char x,y;       //定义全局变量,分别表示参与运算的两个矩阵的矩阵名
int main()
{
    int product(int (*p)[3],int (*q)[3]);       //声明计算两个3*3矩阵乘积的函数
    int a[3][3],b[3][3];        //定义两个矩阵
    int i,j;
    int (*p)[3]=a,(*q)[3]=b;        //定义两个指针变量,分别指向两个矩阵的首行地址
    printf("Please input the first matrix:\n");
    scanf("%c=",&x);
    for (i=0;i<9;i++)       //输入第一个矩阵的元素
        scanf("%d ",*p+i);
    printf("\n");
    printf("%c=\n",x);
    for (i=0;i<3;i++)       //将数组以矩阵的形式显示出来
    {
        for (j=0;j<3;j++)
            printf("%d\t",a[i][j]);
        printf("\n\n");
    }
    printf("Please input the second matrix:\n");
    scanf("%c=",&y);
    for (i=0;i<9;i++)       //输入第二个矩阵的元素
        scanf("%d ",*q+i);
    printf("\n");
    printf("%c=\n",y);
    for (i=0;i<3;i++)       //将数组以矩阵的形式显示出来
    {
        for (j=0;j<3;j++)
            printf("%d\t",b[i][j]);
        printf("\n\n");
    }
    product(p,q);       //调用函数计算两个矩阵的乘积
    return 0;
}
int product(int (*p)[3],int (*q)[3])        //函数定义
{
    int c[3][3];
    int i,j;
    char z;
    scanf("%c=%c%c",&z,&x,&y);
    printf("\n%c=\n",z);
    for (i=0;i<3;i++)       //计算两个矩阵的乘积
        for (j=0;j<3;j++)
            c[i][j]=*(*(p+i)) * *(*q+j) + *(*(p+i)+1) * *(*q+j+3) + *(*(p+i)+2) * *(*q+6);
    for (i=0;i<3;i++)       //输出两个矩阵的乘积
    {
        for (j=0;j<3;j++)
            printf("%d\t",c[i][j]);
        printf("\n\n");
    }
    return 0;
}
输入第一个矩阵(命名为A)后无法进行下一步,就像下面这样
图片附件: 游客没有浏览图片的权限,请 登录注册

这是怎么回事呢?
搜索更多相关主题的帖子: include product matrix 风格 
2016-09-23 20:45
胡文涛
Rank: 1
来 自:北京 朝阳
等 级:新手上路
帖 子:29
专家分:0
注 册:2016-6-30
收藏
得分:0 
第八行的注释说错了,是“分别指向两个二维数组的首行”,见谅。
2016-09-23 20:57
胡文涛
Rank: 1
来 自:北京 朝阳
等 级:新手上路
帖 子:29
专家分:0
注 册:2016-6-30
收藏
得分:0 
明白了,输入完“A=”后没有摁回车
2016-09-23 22:29
快速回复:编程计算两个矩阵的乘积输入后没反应
数据加载中...
 
   



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

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