分段错误编译错误 #包括 #包括 #包括 #包括 int main(){ 长整数n,i,j,k,q,和,w,x; long int a[100][100]; scanf(“%ld”、&n); 对于(i=0;iAn数组,如long int a[100][10

分段错误编译错误 #包括 #包括 #包括 #包括 int main(){ 长整数n,i,j,k,q,和,w,x; long int a[100][100]; scanf(“%ld”、&n); 对于(i=0;iAn数组,如long int a[100][10,c,segmentation-fault,C,Segmentation Fault,分段错误编译错误 #包括 #包括 #包括 #包括 int main(){ 长整数n,i,j,k,q,和,w,x; long int a[100][100]; scanf(“%ld”、&n); 对于(i=0;iAn数组,如long int a[100][100];的索引范围应为0到99,而不是1到100……因此,考虑到这些限制,您可能在数组的边界之外建立索引,数组的边界应为long int a[101][101];以便于可读性和理解:1)一致地缩进代码。在每个开始大括号“{”之后缩进。在每个结束大

分段错误编译错误
#包括
#包括
#包括
#包括
int main(){
长整数n,i,j,k,q,和,w,x;
long int a[100][100];
scanf(“%ld”、&n);

对于(i=0;iAn数组,如
long int a[100][100];
的索引范围应为0到99,而不是1到100……因此,考虑到这些限制,您可能在数组的边界之外建立索引,数组的边界应为
long int a[101][101];
以便于可读性和理解:1)一致地缩进代码。在每个开始大括号“{”之后缩进。在每个结束大括号“}”之前取消缩进。建议每个缩进级别使用4个空格。2)遵循公理:每行只有一条语句,并且(最多)每条语句有一个变量声明。3)单独的代码块(例如,if,else,while,do…while,switch,case,default)通过一个空行。调用任何
scanf()
函数族时,始终检查返回值(而不是参数值)以确保操作成功。如果变量
n
接收到值>100,会发生什么情况?代码需要检查该值以确保其在1…100范围内,或者(使用允许VLA数组的现代C编译器)输入值
n
,然后将数组声明为:
long int a[n][n];
注意,堆栈的大小是有限制的。(在windows上,它默认为1兆字节)数组,例如
long int a[100][100];
应该从0到99索引,而不是从1到100…因此,考虑到约束条件,您可能在数组的边界之外索引,数组的边界应该是
long int a[101][101];
为了便于可读性和理解:1)一致地缩进代码。在每个左大括号“{.unindent”之后缩进。在每个右大括号“{.unindent”之前缩进“。建议每个缩进级别使用4个空格。2)遵循公理:每行只有一条语句,每条语句(最多)一个变量声明。3)通过一个空行分隔代码块(for、if、else、while、do…while、switch、case、default)。调用任何
scanf()
函数系列,始终检查返回值(而不是参数值)以确保操作成功。如果变量
n
接收到大于100的值,会发生什么情况?代码需要检查该值以确保其在1…100范围内,或者(使用允许VLA数组的现代C编译器)输入值
n
然后将数组声明为:
long int a[n][n];
注意,堆栈的大小有限制。(在windows上,它默认为1兆字节)
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {
long int n,i,j,k,q,sum,w,x;
long int a[100][100];
scanf("%ld",&n);
for(i=0;i<n;i++){
    scanf("%ld",&x);
    for(j=1;j<=x;j++)
        for(k=1;k<=x;k++)
            scanf("%ld",&a[j][k]);
    printf("%ld ",a[1][k-1]);
    for(j=2*x;j>=1;j--){
        sum=0;
        for(q=1,w=j-q-x;q<=x&&w<=x;q++,w++){
            if(w<=0)
                continue;
            sum=sum+a[q][w];
        }
        if(w<=1)
             break;
        printf("%ld ",sum);
    }
    printf("\n");
}

return 0;
}
1 <= T <= 100 
1 <= N <= 100 
-100 <= ar[i][j] <= 100