小寒也会写程序(四)

说起c++的相关书籍,可能会有人对谭浩强的小红本嗤之以鼻,作为强哥的《C语言程序设计》大绿本的姊妹篇,其中的知识层面确实是相当浅显的,但是对于一个刚入门的菜鸟,想通篇得了解一下c++的语法,那么这本绝对是一本好书。因为书中的文章大部分都是大白话,少了不少的专业名词,这对于一些刚刚接触c++的新手来说无疑是少了很大一部分负担。

 

小寒从同学拿淘来这本书,书面很旧,里面的纸业也有些发黄,但是小寒却如获至宝。自从看完了c语言的大绿本之后小寒已经很长时间没看过什么新的知识了,天天也就在练习那本书上的程序,长期的知识饥渴在小寒得到这本c++的时候得到了淋漓尽致的发泄。这本书很薄,也就300页左右,小寒用了将近一个星期的时间就看完了,毕竟有了c语言的基础,看起c++来也得心应手。对于一个刚接触c++的新手来说,他不知道stl,atl,mfc,com技术,directX等等这些c++比较高端而且核心的技术,对于他最直观的感觉就是,c++只比c语言多了一个类的概念,也就是比c语言多了一个可以在结构体中加入函数的概念。小寒也没有理解封装,继承,多态这些抽象概念到底有什么用。只是他现在已经一厢情愿的认为自己已经精通了c++,虽然他现在用c++写的程序和c语言写的没有任何区别,看不出一点面向对象的意思,但是至少语法是c++的语法,这个意味着什么?好吧,好吧,这就意味着高端,小寒微笑着。

 

这段时间荡哥一直在研究java,但是一本java的书都没有,那怎么学习的呢?恩,那就是看马士兵的视频。不敲代码,不看书,只听一个人在那白话,那么那个人白话的再漂亮那些东西也不是你的。那么刚开始入门的时候怎么可以活学活用别人的知识呢,可以说没有捷径,无非就是看书,敲代码。这就好像盖房子,别人给你讲的再好这个房子什么架构什么风格,但是你不去一砖一瓦的去盖,那么那还是一片空地,一片微风吹过可能会卷起弥弥的瓦砾…

 

虽说小寒很不认同荡哥的学习方式,但是小寒很喜欢和荡哥讨论一些编程方面的事,倒不是这方面聊的有多投机,只是班级里貌似只有荡哥这么一个学习的人啊,实在找不到交流的对象了。那个时候,小寒和荡哥互相说的最多的一句话就是:“你能编出五子棋吗?”对于没有接触win sdk和mfc的小寒和没有接触到awt和swing还有netbean这个编译器的荡哥来说,图形界面完完全全就是另一个次元的事了。所以他们认为可以写出五子棋的人都是大神,每当谁在装谁的编程很猛的时候,他们总会幽幽的说出一句:“你会编五子棋吗?”一般情况下时间当场会凝结……

 

那个时候确实是懵懂而快乐的,对知识的懵懂,以及对自身盲目的自信而产生的快乐。虽然小寒在一年之后成功的写出了一些小游戏,但是五子棋他一直都没碰,因为他觉得这个东西确确实实的承载了一些东西,大学时期的羁绊也好,对于自己编程的纪念也好,总之小寒想把这个东西保存下来,留作以后,当荡哥也可以编写五子棋的时候,用自己那犀利的遗传算法狠狠的羞辱他一番。

 

最近又发生了些变故,班级又出去了一批人去培训,培训的是php,也就是web开发。对于web小寒暂时还不敢兴趣,总觉得那玩意有点像玩具,用dw拖拖拽拽,再绑定一下,改改参数,一个网页就会生成了,当然了小寒对于web的认知水平有限,他也只能认识到这种程度了。去培训的同学回来之后就开始捅鼓ps捅鼓flash捅鼓dw然后很高调的讨论正则表达式,小寒呢,默默的拿起自己的c++的书,自习室,一人一桌一书一mp3,看得那叫一个惬意。

 

还有一件事就是一年一度的升本考试报名就要开始了,专科接本科,毕业颁发本科同等学位证,但是还得再念两年。荡哥的说法是报个毛!小寒却不这么认为,他痛定思痛再思痛,好吧,报!报出个春光灿烂,报出个花好月圆......

 

(不要看作者在文章中各种损自己的同学就真的觉得他们真的不给力,阿kun在北京的一家团购网工作,六哥和荡哥都在沈阳有一份很稳定的工作,六哥干得还是嵌入式,荡哥仍旧是java。最近荡哥说是可能会被调进DR,在这里祝荡哥成功。还有我众多兄弟们,不要着急,以后哥都会让你们一个个的猥琐的登场的,敬请期待。)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是一个能根据输入的年份和月份计算出该月对应的节气的C语言程序: ```c #include <stdio.h> // 返回某年的第n个节气是几号(从0小寒起算) int getSolarTerm(int year, int n) { int i = 0; int offDate = 0; int springEquinox = 0; int solarTerms[] = {0, 21208, 42467, 63836, 85337, 107014, 128867, 150921, 173149, 195551, 218072, 240693, 263343, 285989, 308563, 331033, 353350, 375494, 397447, 419210, 440795, 462224, 483532, 504758}; springEquinox = 31524 + 590 * (year - 1900) + (year - 1900) / 4 + solarTerms[n] - 1; if (year % 4 == 0 && n == 1) { springEquinox += 1; } offDate = springEquinox + 31 * n / 12; i = 0; while (offDate >= 0) { i++; offDate -= 31536000; if (i % 4 == 0) { offDate -= 86400; } } i--; offDate += 31536000 + (i % 4 == 0 ? 86400 : 0); return (int)(i * 24 + offDate / 3600 + 1) % 24; } // 返回某个月对应的节气 char* getMonthlySolarTerm(int year, int month) { char* solarTerm[] = {"大寒", "立春", "惊蛰", "清明", "立夏", "芒种", "小暑", "立秋", "白露", "寒露", "立冬", "大雪"}; int solarTermIndex = 0; if (month == 1) { solarTermIndex = getSolarTerm(year, 0) < 6 ? 0 : 1; } else { solarTermIndex = (month - 2) * 2 + (getSolarTerm(year, (month - 1) * 2) < 15 ? 0 : 1); } return solarTerm[solarTermIndex]; } int main() { int year, month; printf("请输入年份和月份,格式如2021 3(表示2021年3月):"); scanf("%d %d", &year, &month); printf("%d年%d月对应的节气是:%s\n", year, month, getMonthlySolarTerm(year, month)); return 0; } ``` 程序中使用了每个节气距离立春的天数来计算,具体的计算方式可以参考节气的计算方法。在程序中,我们首先定义了一个 `getSolarTerm` 函数,用于计算某年的第n个节气是几号(从0小寒起算)。该函数中使用了数组 `solarTerms` 存储了每个节气距离立春的天数,还使用了一些公式来计算春分点和该节气的日期。 在 `getMonthlySolarTerm` 函数中,我们根据输入的月份和年份,调用 `getSolarTerm` 函数计算出该月对应的节气,然后根据月份和节气的位置来确定该月对应的节气名称,最后返回节气名称。 在 `main` 函数中,我们读取输入的年份和月份,然后调用 `getMonthlySolarTerm` 函数计算该月对应的节气,并输出结果。 希望这段代码能够帮到您!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值