大C神 发表于 2019-4-14 12:39:27

25课后作业, 弄了2个小时, 脑子都乱成麻了

本帖最后由 大C神 于 2019-4-14 19:17 编辑

不知道还有什么bug, 弄了好久了,不是排版错误,就是计算错误或者读取错误, 测试了一通占时还没发现有新的bug了{:5_104:} , 不过不放心大家帮看一下, 学习学习

还有那个只有一个乘号和等于号是怎么做到的

#include <stdio.h>

int main()
{
    int a, b, d, e;

    printf("请输入第一个矩阵的尺寸(M*P):");
    scanf("%d*%d", &a, &b);
    printf("请输入第二个矩阵的尺寸(P*N):%d*", b);
    scanf("%d", &d);

    int g, o;
    int(*pg) = g, *px = *pg;
    int(*po) = o, *pt = *po, *py = NULL;

    printf("请输入第一个矩阵:\n");
    while (pg != &g)
    {
      while (px != &(*pg))
      {
            scanf("%1d", px);
            px++;
      }
      pg++;
    }

    printf("请输入第二个矩阵:\n");
    while (po != &o)
    {
      while (pt != &(*po))
      {
            scanf("%1d", pt);
            pt++;
      }
      po++;
    }

    printf("计算结果为:\n");
    for (pg = g, po = o; *pg < g || *po < o; pg++, po++)
    {
      printf(" ");

      for (px = *pg; px != &(*pg); px++)
      {
            if (px >= g)
                printf("");
            else
                printf("%-1d ", *px);
      }

      printf(" |*|");

      for (pt = *po; pt != &(*po); pt++)
      {
            if (pt >= o)
                printf("");
            else
                printf("%-1d ", *pt);
      }

      printf(" |=|");

      if (px <= g)
      {
            for (pt = &**o; pt < &(*o); pt++)
            {
                for (px = *pg, py = pt, e = 0; px < &(*pg); py += d, px++)
                {
                  e += *py * *px;
                }
                printf("%-3d ", e);
            }
      }
      printf("\n");
    }
    return 0;
}

anterxp 发表于 2019-4-19 10:17:15

看看{:5_107:}

粤南靓仔 发表于 2019-6-21 14:35:09

二维数组那里应该是常量或常量表达式吧
页: [1]
查看完整版本: 25课后作业, 弄了2个小时, 脑子都乱成麻了