6月28日至7月6日第一周小学期学习c++编程收获
6.28日开始,进入小学期,也就是在10天十天时间内集中练习,以提高编程能力。此次小学期的作业共有十道题,其中分为四大类,系统类,数学类,游戏类,链表类。
我开始的时候面对第一,二题,系统类,因为当时感觉难度有一些高,而且当时对系统并没有什么概念,就跳过了这两道题,然后感觉第三题空间点线面也有一点复杂,就直接先写了第四题,三角形类别的判断,因为以前做的题有些类似,就用点点之间的距离判断三角形的类别,也是没有太高的难度,于是就写出了这道题。然后就到了游戏类,就先挑了其中难度最小的石头剪刀布,理解题意之后发现完成它需要一个随机函数rand(),但是后来发现每次电脑所给出的结果都是固定的,之后在网上搜索发现要实现真正的随机要在头文件中添加ctime,然后还要在随机函数rand()之前加上srand(time (0))才会实现真正的随机函数。完成之后就开始写猜数字,猜数字这道题,共需要两个主题的函数,其中一个就是刚才说到的随机函数,还有一个就是计时函数,之后我就在网上花了一段时间去学习理解计时函数的原理。计时要现在头文件添加time.h,C++中的计时函数是clock(),而与其相关的数据类型是clock_t 。函数定义原型为:clock_t clock(void) ,其中计算的时间是以系统的时间的为准,系统时间是以毫秒来计算的,所以要换算成我们平时所常用的时间单位,秒,还要运用自带的转换公式 :clock() - now)/CLOCKS_PER_SEC,其中clock_t now = clock();表示的是当前时间,而CLOCKS_PER_SEC是一个换算大小,具体意义,并不了解。计时与随机都完成之后两者结合就完成了。
我也不知道究竟过了多久,也不知道要有多才能睁开入门的双眼。这几天一直在正慢慢挣扎。人机下棋,这道题考虑的条件比较多,其中影响深刻的是两个选项,先后下,用什么其中,我在主程序运行开始输入两个数字来选,来确定循序,避免麻烦;之后就是怎么让电脑下之前没下过的,我就为每个棋格做了标记,解决了这个问题。之后我就开始进入链表类,因为之前只在上个学期接触链表的表面只是,于是我花了半个下午的时间的学习了链表的知识,原理,结构,创建,删除,添加,同时也完成了整数链表,还了解到动态内存的使用和动态内存的删除。之后就写约瑟夫退圈问题,与之前的区别就是从单向链表变成环状链表,没有指针指向null,因此循环的结束条件也就有了变化,但是通过努力解决了。之后就是通讯录信息管理,通过前两道题链表知识的积累,只要将创建,删除,添加等知识,运用到实际情况就可以了。到了这个时候,渐渐有了编程的感觉。
然后我又回过头来看前两道相似的题,这是我发现都可以用结构体解决,但是用链表也可以。因为结构体还是用数组,我就想试试不用数组,用链表,我那个是解决将原链表排序,并生成新链表,并且不毁坏的问题,于是我又使用了链表的方法,我也学会了链表排序换数据不换p->next指针指向的方法技巧。最后就剩空间点线面的问题,其实本质并不难,只是数据有一些多,而且复杂,但是只要耐心写下去就可,共有15个小分支,但最后还是写出来了。
这次小学期的收获还是有不少的,学习了链表,计时,随机,类与主函数的结构,最重要的还是有了编程的概念。
收获不少,继续努力。
6月28日至7月6日第一周小学期学习c++编程收获的更多相关文章
- 2016年12月28日 星期三 --出埃及记 Exodus 21:23
2016年12月28日 星期三 --出埃及记 Exodus 21:23 But if there is serious injury, you are to take life for life,若有 ...
- 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00
武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...
- 2015年12月28日 Java基础系列(六)流
2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流
- 2016年11月28日 星期一 --出埃及记 Exodus 20:19
2016年11月28日 星期一 --出埃及记 Exodus 20:19 and said to Moses, "Speak to us yourself and we will listen ...
- 2016年10月28日 星期五 --出埃及记 Exodus 19:13
2016年10月28日 星期五 --出埃及记 Exodus 19:13 He shall surely be stoned or shot with arrows; not a hand is to ...
- 2016年6月28日 星期二 --出埃及记 Exodus 14:25
2016年6月28日 星期二 --出埃及记 Exodus 14:25 He made the wheels of their chariots come off so that they had di ...
- 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日
https://mp.weixin.qq.com/s/z5qm-2bHk_BCJAwaodrMIg 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日
- 【NEWS】 ADempiere发布ADempiere 3.8.0路线图【2013年7月28日】
发布源:http://osssme.org/cms/?q=node/17 本以为ADempiere”已死“,但是看到ADempiere的WIKI上大概在从5月28日开始添加WIKI以来,经过多次更新后 ...
- 优步UBER司机全国各地奖励政策汇总 (3月28日-4月3日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
随机推荐
- (1)-Android学习笔记之:初识Android系统架构和项目结构
Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是And ...
- C# 修改/新建判断
//查询有无重复(新建用) public List<bloodBreedDetailsEntity> CodeList(string code) { var expression = Ex ...
- vue里使用elementUI里的下拉树表格,如何定义个性化的子表格?
最近项目写到一个业务,首先需要展示各类分组的基本信息,然后需要点击每个分组展示该分组下子的所有具体信息 一开始我是打算用tab来展示就是首先父分组的名称就是各个不同的tab按钮,然后点击按钮再展示不同 ...
- AntDesign(React)学习-12 使用Table
AntDesign(Vue)版的Table中使用图片https://www.cnblogs.com/zhaogaojian/p/11119762.html 之前在使用VUE版Table时,使用大图片时 ...
- selenium爬去数据+存储
1 爬去数据代码 #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By fr ...
- 虚拟机中CentOS 6.5 添加扩展分区
此扩展方法要求支持LVM 1.更改虚拟机配置 虚拟机->设置->硬盘->扩展磁盘容量 fdisk -l 查看,发现硬盘空间变大了 [root@thj Desktop]# fdisk ...
- [object object]
第一个object代表用户自定义的对象的属性. 第二个object代表用户自定义的对象的方法. 是valueOf返回的一个字符串另外你打错了吧应该是[object Object]表示对象的类型是obj ...
- Docker(二)Image 与网络
Docker Image 我们介绍一下如何构造一个自定义的 Docker Image.在Docker 中,我们使用Dokcerfile 构建一个docker的描述. 首先我们定义一下需要启动一个什么 ...
- linux修改主机名(hostname)
修改/etc/sysconfig/network文件并重启
- Unity中引入Supersocket.ClientEngine并测试
在使用Supersocket Server的过程中,发现Server是不支持.net 3.5的. 1.Server端中的几个Command: namespace SuperSocketProtoSer ...