|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 大C神 于 2019-4-14 19:17 编辑
不知道还有什么bug, 弄了好久了,不是排版错误,就是计算错误或者读取错误, 测试了一通占时还没发现有新的bug了 , 不过不放心大家帮看一下, 学习学习
还有那个只有一个乘号和等于号是怎么做到的
- #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[a][b], o[b][d];
- int(*pg)[b] = g, *px = *pg;
- int(*po)[d] = o, *pt = *po, *py = NULL;
- printf("请输入第一个矩阵:\n");
- while (pg != &g[a])
- {
- while (px != &(*pg)[b])
- {
- scanf("%1d", px);
- px++;
- }
- pg++;
- }
- printf("请输入第二个矩阵:\n");
- while (po != &o[b])
- {
- while (pt != &(*po)[d])
- {
- scanf("%1d", pt);
- pt++;
- }
- po++;
- }
- printf("计算结果为:\n");
- for (pg = g, po = o; *pg < g[a] || *po < o[b]; pg++, po++)
- {
- printf(" ");
- for (px = *pg; px != &(*pg)[b]; px++)
- {
- if (px >= g[a])
- printf(" ");
- else
- printf("%-1d ", *px);
- }
- printf(" |*| ");
- for (pt = *po; pt != &(*po)[d]; pt++)
- {
- if (pt >= o[b])
- printf(" ");
- else
- printf("%-1d ", *pt);
- }
- printf(" |=| ");
- if (px <= g[a])
- {
- for (pt = &**o; pt < &(*o)[d]; pt++)
- {
- for (px = *pg, py = pt, e = 0; px < &(*pg)[b]; py += d, px++)
- {
- e += *py * *px;
- }
- printf("%-3d ", e);
- }
- }
- printf("\n");
- }
- return 0;
- }
复制代码 |
评分
-
查看全部评分
|