下面程序的功能是输出以下n*n阶(最大为9阶)方阵.能帮我分析下思路啊!下面程序的功能是输出以下n*n阶(最大为9阶)方阵.请分析程序填空.(以下例子是6阶方阵)1 1 1 1 1 11 2 2 2 2 11 2 3 3 2 11 2 3 3
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 20:08:28
下面程序的功能是输出以下n*n阶(最大为9阶)方阵.能帮我分析下思路啊!下面程序的功能是输出以下n*n阶(最大为9阶)方阵.请分析程序填空.(以下例子是6阶方阵)1 1 1 1 1 11 2 2 2 2 11 2 3 3 2 11 2 3 3
下面程序的功能是输出以下n*n阶(最大为9阶)方阵.能帮我分析下思路啊!
下面程序的功能是输出以下n*n阶(最大为9阶)方阵.请分析程序填空.(以下例子是6阶方阵)
1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1
main()
{int a[9][9],n,i,j,m;
scanf("%d",&n);
m=(n+1)/2;
for(i=0;i
下面程序的功能是输出以下n*n阶(最大为9阶)方阵.能帮我分析下思路啊!下面程序的功能是输出以下n*n阶(最大为9阶)方阵.请分析程序填空.(以下例子是6阶方阵)1 1 1 1 1 11 2 2 2 2 11 2 3 3 2 11 2 3 3
#include <stdio.h>
int main()
{
int a[9][9] = { 0 }, n, i, j, m;
scanf("%d", &n);
m = (n + 1) / 2;
for (i = 0; i < m; i++)
for (j = i; j < n - i; j++) // 此语句你写的是错误的, 按照你的是不可能的到那样的输出的
{
a[i][j] = i + 1;
a[n - i - 1][j] = i + 1; // (1)
a[j][i] = i + 1;
a[j][n - i - 1] = i + 1; // (2)
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
return 0;
}