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

来源/分类