✅作者简介:C/C++领域新星创作者,CSDN内容合伙人,新晋万粉博主,大三学生
这个世界熙熙攘攘,少有人给灵魂抛光
文章目录
- 写给读者
- 初识C++
- 突发奇想的抽奖程序
- 独立完成数据结构课程设计
- 算法刷题之路
- 祝福语
写给读者
读者朋友们大家好,借着本次猿创征文活动我将分享一下自己的C++技术的成长之路。身为计科专业的学生,我接触的第一门编程语言是C语言,打印的第一行代码便是Hello World
。说来惭愧,我是大二开学才开始接触的C++,所以自己的技术一定不是很全面的,仍有很大的进步空间。尽管自己学习的时间不长,但是对某些方面知识的理解倒是有独特之处,所以请允许我给大家分享分享自己的学习经验与技巧吧。
初识C++
记得我第一次见到C++的代码也是在CSDN网站,当时我是要查找有关基于链表实现一元多项式相乘的课程设计代码的,最终我选中了一个200来行的代码并使用CV
这一高端操作粘贴到了我的编译器上。当时就纳闷啊,怎么没有scanf
和printf
也可以输入输出啊?查阅网上资料才知道原来C++是使用iostream
头文件的cin
和cout
来实现输入输出功能的从此便不断查阅资料来学习C++语言。最终,我选择了b站黑马程序员的教程每天坚持敲代码,做笔记,不断提升自己。
突发奇想的抽奖程序
在看完有关C++猜数字游戏的时候,我突发奇想能不能做一个抽奖的程序,这样就能在某些特殊情况,例如抽班级里的同学完成学校的写作任务。面对这些墨水的工作,大多数人都是不感兴趣的,因此几乎没有人愿意主动报名,那么这个抽学号代码就凸显出他的作用了。
只要满足一个区间数据连续即可使用,代码也很少,下面会有运行效果和源码分享
运行效果:
源码分享:
#include#includeusing namespace std;int main(){ /*注:1.本程序的学号均为整数类型。2.学号太大的话会不适用,可以去掉高位重复的数字,用尾号代表学号*/int n = 1, x = 0, y = 0, z = 0, t = 0;cout << "请输入区间范围,填一个整数即可:";cin >> x;cout << "请输入第一个学号:";cin >> y;cout << "请输入一次抽取的个数:";cin >> z;cout << "请输入需要抽取的次数:";cin >> t;srand((unsigned int)time(NULL));while (1){int i = 1;for (; i <= z; i++) {int Num = rand() % x + y;cout << "此次抽到的学号为:" << Num << endl;}cout << "一次抽奖完成" << endl;cout << "----------------" << endl;n++;if (n > t){cout << "抽奖结束,如果有重复请多次抽取,选择学号不重复的一组学号" << endl;break;}}system("pause");}
独立完成数据结构课程设计
随着在CSDN粉丝的积累与名气的增长,我也是在期末接到了不少有关数据结构课程设计的单子,最典型的就是链表的基本操作、各种通讯录、二叉树的前中后序遍历以及基于栈和队列实现停车场管理系统和学生成绩管理系统等。不管收益多少,我全部接下来了,并花费时间与精力逐个完成。想要有所进步是一定需要通过实践来磨练的,回首这段经历,我熟练掌握了链表的设计,二级指针与指针引用的使用、结构体数组、递归、线性表在基础排序算法中的使用等等知识。所以我建议大家在学习完理论知识后多动手实践,不断的打牢自己的知识体系。
部分自己做过的课程设计:
算法刷题之路
在这个暑假我试着做几道力扣的题目来试试自己的水准,初心就是用C++来刷算法题。但是我看几乎所有的答题都用到了vector
容器,对于这点我是比较懵的,并不知道这是什么知识点,到后面我继续学习C++才知道这是C++中 STL
容器里的常用容器。我一共在力扣刷了两周的题,每天三道,有收获的同时更多的是压力。力扣的题对我来说难度是比较高的,尤其是在我学并不深的情况下,因此我就暂时停止了刷题,并加速学习C++知识。最终在学完了常用容器后,在牛客网的剑指offer专栏日常刷题,到现在也是把专栏里的大部分题目过了一遍。学到了双指针,动态规划,滑动窗口这些算法的思想并写了对应的题解。我感觉牛客的题稍微容易一点,我做起来也是比较合适,在巩固知识的基础上学习算法思想,我觉得这样就比较满足了,等我结束这个专栏后再去挑战力扣吧!
祝福语
我知道自己不够优秀,因此我要足够勤奋来追求优秀。有关我的C++技术成长之路分享就到此结束了,希望大家在掌握基础知识的前提下多去动手实践,不断出彩,希望有一天我们能够顶峰相见,一览众山小。