C语言S1E25课后题小bug求解
这样写,输出结果会有问题,求解哪一步出错了?(感觉和答案一模一样啊...)感谢!#include <stdio.h>
int main() {
int i, j, k = 0;
int M, P, N;
int row;
//定义大小:
printf("请输入第一个矩阵的尺寸(M * P):");
scanf("%d*%d", &M, &P);
int matrix1;
printf("请输入第二个矩阵的尺寸(P * N):");
scanf("%d*%d", &P, &N);
int matrix2;
int matrix;
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
matrix = 0;
}
}
//输入值:
printf("请输入第一个矩阵的值:");
for (i = 0; i < M; i++) {
for (j = 0; j < P; j++) {
scanf("%d", &matrix1);
}
}
printf("请输入第二个矩阵的值:");
for (i = 0; i < P; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &matrix2);
}
}
//计算结果
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
for (k = 0; k < P; k++) {
matrix += matrix1 * matrix2;
}
}
}
//输出结果
printf("计算结果如下:\n");
row = M > P ? M : P;
for (i = 0; i < row; i++) {
printf("|");
//matrix1:
for (j = 0; j < P; j++) {
if (i < M) {
printf("\b%d ", matrix1);
printf("|");
}
else {
printf("\b\b\b ");
}
}
//*:
if (i == row / 2) {
printf(" * ");
}
else {
printf(" ");
}
//matrix2:
printf("|");
for (j = 0; j < N; j++) {
if (i < P) {
printf("\b%d ", matrix2);
printf("|");
}
else {
printf("\b\b\b ");
}
}
//=:
if (i == row / 2) {
printf(" = ");
}
else {
printf(" ");
}
//matrix:
printf("|");
for (j = 0; j < N; j++) {
if (i < M) {
printf("\b%d ", matrix);
printf("|");
}
else {
printf("\b\b\b ");
}
}
printf("\n");
}
return 0;
} 666666 题目是啥 {:10_256:} int matrix1;
恕我孤陋寡闻,动态数组可以直接声明? jhq999 发表于 2021-9-1 16:48
int matrix1;
恕我孤陋寡闻,动态数组可以直接声明?
可以,gcc 支持这个
vs 不支持
人造人 发表于 2021-9-1 17:41
可以,gcc 支持这个
vs 不支持
学到老 都只是嫖鱼币嘛{:5_90:}
页:
[1]