2102: 程序改错 - 二维数组参数传递
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:228
解决:186
题目描述
题目:矩阵乘法,求方阵A的二次幂
输入:包括多组数据,每组数据包含一个整数n和n*n个整数。n为方阵的大小,n*n个整数为矩阵的元素,n的取值范围:1<=n<=10
输出:输出A的二次幂n*n个整数,每组数据一行
代码如下,请修正后提交
#include <stdio.h>
#define MAX 10
void square(int** A, int n) {
int i, j, k;
int s;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
s = 0;
for (k = 0; k < n; k++) {
s += A[i][k] * A[k][j];
}
printf("%d ", s);
}
}
printf("\n");
}
int main() {
int A[MAX][MAX];
int i, j;
int n;
while (scanf("%d",&n) != EOF) {
for (i = 0; i < n; i++) {
for (j = 0; j <n; j++) {
scanf("%d", &A[i][j]);
}
}
square((int**)A, n);
}
return 0;
输入
包括多组数据,每组数据包含一个整数n和n*n个整数。n为方阵的大小,n*n个整数为矩阵的元素,n的取值范围:1<=n<=10
输出
输出A的二次幂n*n个整数,每组数据一行
样例输入 复制
2 1 1 1 0
样例输出 复制
2 1 1 1