- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子工程学院2015年计算机实习.doc
计 算 机 实 习 报 告
专业:电子科学与技术
班级: XXXXXXXX
学号: XXXXXXXX
姓名: XXXXXXXX
计 算 机 实 习 报 告 0
一、 魔方阵 1
1、任务要求: 1
2、算法设计: 1
3、程序运行情况截图: 2
4、部分代码及注释: 2
二、 动画制作 9
1、任务要求: 9
2、设计思路: 10
3、剧情截图: 10
三、 健康计算器 11
1、任务要求: 11
2、算法设计: 12
3、程序运行情况及截图: 12
4、 部分代码及注释: 12
四、 字符串处理 17
1、任务要求: 17
2、算法设计: 17
3、程序运行情况及截图: 18
4、 部分代码及注释: 19
五、 函数作图器 26
1、任务要求: 26
2、程序运行情况及截图: 26
3、部分代码及注释: 27
六、 实习总结: 38
魔方阵
1、任务要求:
n为初始输入的数字(为了显示效果,使n≤15),把整数1到n2排成一个n×n方阵,使方阵中的每一行,每一列以及对角线上的数之和都相同。输出这个方阵。达到以下要求:
①、可以通过界面设定n的值
②、正确输出方阵
③、其他(界面美观、操作简便)
2、算法设计:
A、奇数阶幻方n为奇数(n=3,5,7,9,11……) (n=2*k+1,k=1,2,3,4,5……)
奇数阶幻方最经典的填法是罗伯特法(也有人称之为楼梯方)。填写方法是这样:
把1(或最小的数)放在第一行正中;按以下规律排列剩下的n*n-1个数:
(1)、每一个数放在前一个数的右上一格;
(2)、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;
(3)、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;
(4)、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的
下一行同一列的格内;
(5)、如果这个数所要放的格已经有数填入,处理方法同(4)。
这种写法总是先向“右上”的方向,象是在爬楼梯。
B.当N为双偶数时,算法如下:
(1) 先将整个方阵划分成k*k个4阶方阵,然后在每个4阶方阵的对角线上做记号
(2) 由左而右、由上而下,遇到没有记号的位置才填数字,但不管是否填入数字,每移动一格数字都要加1
(3) 自右下角开始,由右而左、由下而上,遇到没有数字的位置就填入数字,但每移动一格数字都要加1
C.当N为奇偶数时,算法如下:
(1)先将整个方阵划成田字型的四个2 k + 1阶的奇数阶小方阵,并以下法做注记:
a、右半两个小方阵中大于k+2的列。
b、左半两个小方阵中( k + 1 , k + 1 )的格位。
c、左半两个小方阵中除了( 1 , k + 1 ) 的格位之外,
小于k +1的列。
(2)以奇数阶魔方阵的方法连续填制法依左上、右下、右
上、左下的顺序分别填制这四个小方阵。
将上半及下半方阵中有注记的数字对调,魔方阵完成。
3、程序运行情况截图:
魔方阵界面上边可以输入魔方阵阶数,可以调节控制魔方阵输出的阶数,当输入3-15的数字并点击确定时便会在下方输出该阶数的魔方阵,如果输入其他数字或者字符便会报错并提示重新输入。
4、部分代码及注释:
#include stdafx.h
#include 魔方阵.h
#include 魔方阵Dlg.h
#include afxdialogex.h
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialogEx
{public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAbo
文档评论(0)