int i, j, n, k, m, a[i][j]
而不能够把 int a[i][j] 写在 scanf("%d",&n) 的后面(C++可以这么写);
另外一个错误就是:即使把 int a[i][j] 语句写到了 scanf(%d", &n) 的前面,但是语句 int a[i][j] 仍然是错误的,必须采用如下的定义常量的写法。例如:
#define MIN 0
#define MAX 10
int a[MIN][MAX]
#include<stdio.h>
int main()
{
int i,j,n,k,m
scanf("%d",&n)
int a[i][j]
for(i=0i<ni++){
for(j=0j<nj++){
a[i][j]=i*n+j+1
}
}
for(k=0k<nk++){
a[i][j]=a[j][i]
}
i=0j=0
for(k=0k<4*(n-1)+1k++,i++,j++){
if(k%4!=0||k!=0){
printf(" ")
}
else
printf("%d",a[i][j])
}
printf("\n")
}
其他的语句我没有详细查看你的源代码,你可以一步一步进行调试。根据我的编写程序经验就是:调试通过一个程序的运行结果,要远远比编写一个程序费劲得多。