鱼C论坛

 找回密码
 立即注册
查看: 2791|回复: 2

[技术交流] 25课后作业, 弄了2个小时, 脑子都乱成麻了

[复制链接]
发表于 2019-4-14 12:39:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

  1. #include <stdio.h>

  2. int main()
  3. {
  4.     int a, b, d, e;

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

  9.     int g[a][b], o[b][d];
  10.     int(*pg)[b] = g, *px = *pg;
  11.     int(*po)[d] = o, *pt = *po, *py = NULL;

  12.     printf("请输入第一个矩阵:\n");
  13.     while (pg != &g[a])
  14.     {
  15.         while (px != &(*pg)[b])
  16.         {
  17.             scanf("%1d", px);
  18.             px++;
  19.         }
  20.         pg++;
  21.     }

  22.     printf("请输入第二个矩阵:\n");
  23.     while (po != &o[b])
  24.     {
  25.         while (pt != &(*po)[d])
  26.         {
  27.             scanf("%1d", pt);
  28.             pt++;
  29.         }
  30.         po++;
  31.     }

  32.     printf("计算结果为:\n");
  33.     for (pg = g, po = o; *pg < g[a] || *po < o[b]; pg++, po++)
  34.     {
  35.         printf(" ");

  36.         for (px = *pg; px != &(*pg)[b]; px++)
  37.         {
  38.             if (px >= g[a])
  39.                 printf("  ");
  40.             else
  41.                 printf("%-1d ", *px);
  42.         }

  43.         printf(" |*|  ");

  44.         for (pt = *po; pt != &(*po)[d]; pt++)
  45.         {
  46.             if (pt >= o[b])
  47.                 printf("  ");
  48.             else
  49.                 printf("%-1d ", *pt);
  50.         }

  51.         printf(" |=|  ");

  52.         if (px <= g[a])
  53.         {
  54.             for (pt = &**o; pt < &(*o)[d]; pt++)
  55.             {
  56.                 for (px = *pg, py = pt, e = 0; px < &(*pg)[b]; py += d, px++)
  57.                 {
  58.                     e += *py * *px;
  59.                 }
  60.                 printf("%-3d ", e);
  61.             }
  62.         }
  63.         printf("\n");
  64.     }
  65.     return 0;
  66. }
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
cwhsmile + 5 + 5 + 3 我学的python,不懂C,给楼主评分点个赞

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-19 10:17:15 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-6-21 14:35:09 | 显示全部楼层
二维数组那里应该是常量或常量表达式吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 14:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表