
题目
解决代码及点评
/************************************************************************/
/*
58. 编写程序,按照 1,2, ... , 28的顺序填一个7×7数组的左上角,程序的输出结果为:
1 2 4 7 11 16 22
3 5 8 12 17 23
6 9 13 18 24
10 14 19 25
15 20 26
21 27
28
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void main()
{
int arr[7][7]={0};
int num=(1+7)*7/2;
int m=0;
int n=0;
int cen=0;
for (int i=1;i<=num;i++)
{
arr[m][n]=i;
if (n-1<0)
{
m=0;
cen++;
n=cen;
}
else
{
m++;
n--;
}
}
for (int i=0;i<7;i++)
{
for (int j=0;j<7-i;j++)
{
printf("%5d",arr[i][j]);
}
printf("\n");
}
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.youkuaiyun.com/detail/yincheng01/6681845
解压密码:c.itcast.cn