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++编程收获的更多相关文章

  1. 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,若有 ...

  2. 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00

    武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...

  3. 2015年12月28日 Java基础系列(六)流

    2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流

  4. 2016年11月28日 星期一 --出埃及记 Exodus 20:19

    2016年11月28日 星期一 --出埃及记 Exodus 20:19 and said to Moses, "Speak to us yourself and we will listen ...

  5. 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 ...

  6. 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 ...

  7. 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

    https://mp.weixin.qq.com/s/z5qm-2bHk_BCJAwaodrMIg 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

  8. 【NEWS】 ADempiere发布ADempiere 3.8.0路线图【2013年7月28日】

    发布源:http://osssme.org/cms/?q=node/17 本以为ADempiere”已死“,但是看到ADempiere的WIKI上大概在从5月28日开始添加WIKI以来,经过多次更新后 ...

  9. 优步UBER司机全国各地奖励政策汇总 (3月28日-4月3日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

随机推荐

  1. jQuery---prop方法和表格全选案例

    prop方法和表格全选案例 对于布尔类型的属性,不用attr方法,应该用prop方法 prop用法跟attr方法一样 <input type="button" value=& ...

  2. Git分支规范说明

    1.分支类型说明 分支名称 分支描述 唯一 权限管理 release 发布分支,内部分支,当确定需要发布版本时,从develop分支拉出此分支 唯一 最高权限,由版本经理或者团队核心成员组管理 mas ...

  3. C++-POJ3233-Matrix Power Series[矩阵乘法][快速幂]

    构造矩阵 #include <cstdio> ; struct Matrix{int a[MAXN][MAXN];}O,I;int N; ;i<MAXN;i++);j<MAXN ...

  4. openWRT和LuCI

    openwrt是一套集成在板子上的系统,通过ip进入到其页面上 Luci是lua和UCI统一配置接口的合体,实现路由的网页配置界面(相当于一个前端框架)

  5. 认识Flow(一)

    Flow 是 facebook 出品的 JavaScript 静态类型检查工具.Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码. 为什么用 Flow J ...

  6. 题解 AT859 【元素の系統名】

    题目传送门. 介绍一种使用string字符串的方法. \(string\)是\(C++\).\(java\).\(VB\)等编程语言中的字符串,字符串是一个特殊的对象,属于引用类型. \(C++\)标 ...

  7. Response与ServletContext对象

    HTTP协议: 请求消息:客户端发送给服务器端的数据 数据格式: 请求行: 格式: 请求方式 请求url 请求协议/版本 请求头:告诉服务器,当前访问的浏览器自身的一些信息 格式: 请求头名称: 请求 ...

  8. cookie和会话

    一.为什么要使用cookie和会话 HTTP是一种无状态技术,这意味着每个单独的HTNML页面都是一个无关的.当人们穿过站点时,HTTP 没有用于跟踪用户或保持变量的方法,尽管浏览器会跟踪你访问过的页 ...

  9. linux 关键字搜索文件

    在www目录下查找包含关键字’summer’,且后缀名为php文件的操作命令 find /www/ -name '*.php' |xargs grep '/Summer'

  10. 【Python】time库