关于非计算机专业学生的问题!(语言-c++)

img


我想显示次对角线的最小元素,但是不能执行,而主对角线代码却可以执行

int max=0,min=99999

修改如下,供参考:

#include <stdio.h>
#include <limits.h>
#define N 10
int main()
{
    int n, i, j, a[N][N], x, y, q, p, max=INT_MIN, min=INT_MAX;
    scanf("%d", &n);
    printf("请输入%d*%d阶矩阵元素:\n", n, n);
    x = 0; y = 0; q = 0; p = n - 1;
    for (i = 0;i < n; i++)
    {
        for (j = 0;j < n; j++)
        {
            scanf("%d", &a[i][j]);
            if (i == j && a[i][j] > max){
                max = a[i][j];
                x = i; y = j;
            }
            if (i + j == n - 1 && a[i][j] < min){
                min = a[i][j];
                q = i; p = j;
            }
        }
    }
    printf("主对角线元素的最大值为:%d,位于第%d行,第%d列\n", max, x, y);
    printf("次对角线元素的最小值为:%d,位于第%d行,第%d列\n", min, q, p);
    return 0;
}