其实上是我们当时考研复试的上机题目——打印钻石,当时难住了不少人。尽管我做出来了,不过可花了我不少时间。记得当时是采用两层循环来计算,比较麻烦。不过那会儿只求能做出来,哪管得了那么多。
这次一位朋友无意中问到我,我一下子想到一个用自定义零坐标的方法来实现,再加上空间换时间的概念,就成了下面这个小程序。核心代码在7行左右,比当时的少了近2/3。记一下:
可以选择是否空心。最大为39是因为Console程序一行最多只能是80个字符。
(这是我第4次改这个小程序了,前几次是功能上的,这次是改为用STL代替原来的生数组。一朋友说:你老整它干嘛啊?我觉得真正爱好编程的人是乐意对自己的程序去重构的,只要时间和精力允许。)
程序虽小,但却体现出灵感的重要性。多思考就一定会有灵感!
本文介绍了一个打印钻石图案的C++程序,通过自定义零坐标和使用STL改进了原始算法,使得代码更简洁高效。该程序支持用户输入,并提供空心和实心钻石的选择。
314

被折叠的 条评论
为什么被折叠?



