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 ...
随机推荐
- python接口
用正则表达式提取数据: https://www.cnblogs.com/dwdw/p/9553192.html python unittest TestCase间共享数据(全局变量的使用): http ...
- linux - 查看是否安装 apache 以及 apache 版本
命令 apachectl -v httpd -v 备注:这两个命令的作用一样 结果
- 【转载】SpringMVC前台给后台传值的方式
转自:http://blog.csdn.net/flymoringbird/article/details/53126505 1. 基本数据类型(以int为例,其他类似): Controller代码: ...
- AtCoder arc078_d Mole and Abandoned Mine
洛谷题目页面传送门 & AtCoder题目页面传送门 给定一个无向连通带权图\(G=(V,E),|V|=n,|E|=m\)(节点从\(0\)开始编号),要删掉一些边使得节点\(0\)到\(n- ...
- Mysql单实例数据库安装
第1章 MySQL数据库安装 在当今的大中型互联网企业里,MySQL数据库服务几乎都是运行在Linux系列操作系统上,当然,你在可以运行在Windows/Unix等商业操作系统上,大中型互联网企业使用 ...
- 2017-12-08 违法数据筛选.sql
SELECT R. ID, R.LKBH, R.CDBH, R.FXBH, R.ZJBH, R.SBBH, R.CPHM, R.CPYSBH, R.CPYS, R.CSYSBH, R.CSYS, R. ...
- ORA-00904: "I_LEVEL": invalid identifier
问题描述 ORA-00904: "I_LEVEL": invalid identifier 标示符无效
- Python记:列表方法略记
- C short类型的内存分析
#include<stdio.h> #include<limits.h> void main(){ //printf("short%d, int%d, long%d ...
- Python 实现深度学习
前言 最近由于疫情被困在家,于是准备每天看点专业知识,准备写成博客,不定期发布. 博客大概会写5~7篇,主要是"解剖"一些深度学习的底层技术.关于深度学习,计算机专业的人多少都会了 ...