本帖最后由 jackz007 于 2021-1-4 17:19 编辑
此题样例输入的输出分明是 30,怎么会是 25 呢?#include<stdio.h>
#include<stdlib.h>
int main()
{
int i , j , N , ** p , s ;
scanf("%d" , & N) ;
p = (int **) malloc(N * sizeof(int *)) ;
for(i = 0 ; i < N ; i ++) * (p + i) = (int *) malloc(sizeof(int) * N) ;
for(s = i = 0 ; i < N ; i ++) {
fflush(stdin) ;
for(j = 0 ; j < N ; j ++) scanf("%d" , & p[i][j]) ;
s += p[i][i] ;
if(N - 1 - i != i) s += p[i][N - 1 - i] ;
}
printf("%d\n" , s) ;
for(i = 0 ; i < N ; i ++) free(* (p + i)) ;
free(p) ;
}
|