【单选题】
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;若不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个"幻方": 4 9 2 3 5 7 8 1 6 请选择在下画线处填入正确的语句,使程序得出正确的结果。 #include #define N 3 int fun(int (*a)[N]) { int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; i { j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } if(m1!=m2) return 0; for(i=0; i row=colum= 0; for(j=0; j { row+=a[i][j]; colum+=a[j][i]; } /**********found**********/ if( (row!=colum) ____ (row!=m1) ) return 0; } return 1; } main() { int x[N][N],i,j; printf("Enter number for array:\n"); for(i=0; i for(j=0; j printf("Array:\n"); for(i=0; i { for(j=0; j printf("\n"); } if(fun(x)) printf("The Array is a magic square.\n"); else printf("The Array isn't a magic square.\n"); }
参考答案:
参考解析:
举一反三
【简答题】调用 fun 函数求 5 行 5 列矩阵主对角线元素之和。 #include #define M 5 int fun(int a[M][M]) { /**********Program**********/ /********** End **********/ } main() { int a[M][M]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5...