求这串C语言源代码的详细注释! 急急~在线等!
#defineN7main(){staticinta[N+1][N+1];intm,k,i,j;m=N*N;i=1;j=N/2+1;for(k=1;k<=m;k++){a...
#define N 7
main()
{ static int a[N+1][N+1];
int m,k,i,j;
m=N*N;
i=1;j=N/2+1;
for (k=1;k<=m;k++)
{ a[i][j]=k;
i=i-1;j=j+1;
if (i==0&&j==N+1) { i=i+2;j=j-1; }
else if (i==0) i=N;
else if (j==N+1) j=1;
else if (a[i][j]!=0) { i=i+2;j=j-1; }
}
for (i=1;i<=N;i++)
{ for (j=1;j<=N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
速度快的话!可以加分 展开
main()
{ static int a[N+1][N+1];
int m,k,i,j;
m=N*N;
i=1;j=N/2+1;
for (k=1;k<=m;k++)
{ a[i][j]=k;
i=i-1;j=j+1;
if (i==0&&j==N+1) { i=i+2;j=j-1; }
else if (i==0) i=N;
else if (j==N+1) j=1;
else if (a[i][j]!=0) { i=i+2;j=j-1; }
}
for (i=1;i<=N;i++)
{ for (j=1;j<=N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
速度快的话!可以加分 展开
3个回答
展开全部
#define N 7 全局变量
main() 主函数
{ static int a[N+1][N+1]; 定义二维数组
int m,k,i,j; 4个int变量
m=N*N; 给m赋值
i=1;j=N/2+1; 给i、j赋值
for (k=1;k<=m;k++) for循环
{ a[i][j]=k; 给二维数组a[][]的第a[i][j]项赋值
i=i-1;j=j+1; 改变j、j的值
if (i==0&&j==N+1) { i=i+2;j=j-1; }如果i到0并且j超过数组长度就给i+2,给j-1;
else if (i==0) i=N;不然如果i等于0就让i等于全局变量N
else if (j==N+1) j=1;不然如果j等于N+1的话就让j等于1
else if (a[i][j]!=0) { i=i+2;j=j-1; }不然如果a[i][j]不等于0的话就执行i=i+2;j=j-1;
}循环结束
for (i=1;i<=N;i++)循环开始
{ for (j=1;j<=N;j++)循环开始
printf("%4d",a[i][j]);输出a[i][j]
printf("\n");输出换行符
}循环结束
}主程序结束
这就是一个给数组循环赋值然后输出的程序,具体规律你可以根据输出结果看出来
main() 主函数
{ static int a[N+1][N+1]; 定义二维数组
int m,k,i,j; 4个int变量
m=N*N; 给m赋值
i=1;j=N/2+1; 给i、j赋值
for (k=1;k<=m;k++) for循环
{ a[i][j]=k; 给二维数组a[][]的第a[i][j]项赋值
i=i-1;j=j+1; 改变j、j的值
if (i==0&&j==N+1) { i=i+2;j=j-1; }如果i到0并且j超过数组长度就给i+2,给j-1;
else if (i==0) i=N;不然如果i等于0就让i等于全局变量N
else if (j==N+1) j=1;不然如果j等于N+1的话就让j等于1
else if (a[i][j]!=0) { i=i+2;j=j-1; }不然如果a[i][j]不等于0的话就执行i=i+2;j=j-1;
}循环结束
for (i=1;i<=N;i++)循环开始
{ for (j=1;j<=N;j++)循环开始
printf("%4d",a[i][j]);输出a[i][j]
printf("\n");输出换行符
}循环结束
}主程序结束
这就是一个给数组循环赋值然后输出的程序,具体规律你可以根据输出结果看出来
2010-11-04
展开全部
神啊~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分析如2楼 结果就是:
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
就是斜着加1的矩阵
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
就是斜着加1的矩阵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询