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;
} 看看{:5_107:} 二维数组那里应该是常量或常量表达式吧
页:
[1]