

题目
解决代码及点评
/*
功能:编程产生如下形式的方阵。
1 2 2 2 2 2 1
3 1 2 2 2 1 4
3 3 1 2 1 4 4
3 3 3 1 4 4 4
3 3 1 5 1 4 4
3 1 5 5 5 1 4
1 5 5 5 5 5 1
要求:不允许使用键盘输入语句和静态赋值语句,尽量少用循环。
时间:12:28 2013/10/26
*/
#include<stdio.h>
#include <stdlib.h>
void main()
{
const int N=7;
int a[N][N]={0};
for(int i=0;i<N;i++) //横坐标遍历
{
if(i<=N/2) //小与N/2的部分按规则放3
{
for (int j=i+1;j<N-i-1;j++)
{
a[j][i]=3;
}
}
if(i>=N-N/2) //大于的部分按规则放5
{
for (int j=N-i;j<i;j++)
{
a[j][i]=4;
}
}
}
for(int i=0;i<N;i++) //纵坐标遍历
{
if(i<=N/2) //符合条件的安规则赋2
{
for (int j=i+1;j<N-i-1;j++)
{
a[i][j]=2;
}
}
if(i>=N-N/2) //赋5
{
for (int j=N-i;j<i;j++)
{
a[i][j]=5;
}
}
}
for(int i=0;i<N;i++) //对角线赋值
{
for(int j=0;j<N;j++)
{
if(i==j)a[i][j]=1; //j==i
if(i+j==6)a[i][j]=1; //i+j=N-1
}
}
for (int i=0;i<N;i++) //打印数组
{
for (int j=0;j<N;j++)
{
printf("%2d",a[i][j]);
}
printf("\n");
}
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果