计算机1-4班第01次作业思维总结
2013-10-14 23:30
295 查看
如果看完还有疑问的在评论区评论即可。如果有必要我会详细回复的。不过这个文章没有程序实例答案,想要答案的请绕行。
个人认为,本次作业难度不高,基本是基础题。但看了分析后发现我们问题竟然如此突出。于是很多不求甚解的同学向我询问一些问题,基于此,撰写此篇以告众人。
(注:凡是此篇提到的所有问题,包括与之相关的一系列问题,我将不再现场讲解,请勿频繁打扰)
PART 0思维弥补
之前说下,很多同学都认为自己是零基础,或者兴趣不在于此,一句“不会”就让人去教,因而不自主思考就询问他人,或者遇到困难多次无法解决就放弃直接问同学源码。说实话,靠人不如靠己,他人也有自己的计划和生活,如果他人忙着或有正在思考的事情之时还去打扰,那确实是不礼貌的。我高中语文老师曾经说过一句话,暂且允许我断章取义:“如果你都会了,你还用学习吗?直接去当专家好了!”
好吧,与君共勉,进入正题。
对于编程学习思维,我个人认为有以下几点,简略几句就结束:
1、求人不如求己,求己不如求书,求书不去求Google(非百度)。
2、不要因写程序而写程序,而需要以问题出发,用数学思维去解决问题,以算法为工具去“翻译”成C语言。
3、样例不是万能的,多举几个合适的例子(或反例)去测试程序,会使程序AC几率提高的。
4、闲着没事去玩玩程序,自己改下已经写完的程序或者故意让他出错,会让你在以后程序测试出错时迅速判断程序错误原因的。
5、仔细仔细再仔细!!!在出错时先不要认为自己写的程序是对的!!!自己先去检查一遍!!!问别人只会害自己!!!
完事了,再次进入正题。
PART 1 Problem 1002
很神奇的一道题目,当时我做此题的时候还只是在纸上写出来的再打在cb(code::blocks)上的,运行成功提交OJ就AC了,觉得没有什么难度。可是出乎我意料,这个题是问我问的最多的一个题。于是我观察了一下分析统计,发现只要能一次通过的,都通过了。不通过的,都至少WA或其他问题3次以上才过。就说这么多,写下我的观点就进入PART2。
1、一定要严格按照SAMPLEINPUT和SAMPLE OUTPUT来输入输出!!!这里是许多人犯的错误。不仅是这个程序,以后的程序都要注意这一点。此程序是空格和scanf中输入部分极容易犯错。有问题的一定要首查此错。
2、此题不宜过多语句表达式来计算所输出的东西。具体的自己看书去理解(个人观点),因为太多语句表达式就太多变量,会使人看眼花的。
PART 2 Problem 1003/1004/1006/1007
四个问题中有两个上课讲过,不过圆周那个题还是有一少部分同学做错,在此不在赘述。注意以下问题吧:
1、1003我cb上曾用过#define PI=3.14但运行出错,可能宏定义写错了,于是改成数字常量直接进程序。说明此点原因是我们在以后所学习内容时,不要拘泥于一种做法去编程,一题多解不仅仅是数学的要求。
2、1004中对于平均值何时将int转换double,如何将int转换double是是关键,崔老师在课堂上也讲过并且演示过。这里不在赘述。
3、1003看好题目要求,每一行输出的是哪些数就没问题。对于不会进制转换并输出的,请看教材或Google一下。
PART 3 Problem 1005/1009/1010
1005汇率和1009打折和1010闰年是跟数学沾边很多的,只要建立了完整的数学模型,将数学语言“翻译”为C语言,只要没有语法及输入输出格式错误,一般是没问题的。如果出错,请仔细考虑你的建模是否完整,再次检查程序。
PART 4 Problem 1008/1012
绝对值和水仙花数的问题应该是很经典的题目了。主要关注的也是PART 3所说的,但这两个程序逻辑性相比比以上几个题目多一点,希望各位注意下。纯数学语言到C语言的转换应遵循C语言语法和算法的规则。
PART 5术后语
我已经放弃治疗好长时间了,所以能看到这里说明你很有毅力。
说实话,对于C语言的学习的的确确是自己的事情,最近很多人问的题很大一部分并不是知识性问题,而是最基础的学习态度以及性格问题。很多人包括我在代码出现错误的第一反应是咒骂此题,不过骂归骂,每个人的反映态度不同。有的人会自己检查代码,尝试去修改多次编译,几百次的失败换取一次的成功(夸张手法,不喜勿喷);有的人却耐不住性子让别人去看代码。不过看归看,别人指出的问题一定要记住,这些零碎的问题会让你在以后的编程里集合成大的严重的错误。如果你不记住这些问题,下次再出现相同问题再让同一个人去看会烦的。因为这是知识性问题,查查书看看教程实例就解决了,实在不行就Google一下。
看出来了我是在吐槽可是想吐的文明点而已。于是,在从侧面反映出我并不是大神。因为大神是要和蔼的,我在某些情况下是做不到的。比如问问题不要把同一个问题犯三遍,而且还说仔细检查之后说没问题让我检查,这种情况下我不讲我认为不是我的问题。当然,别人认为是我的问题那也无妨,这是别人的观点对我没影响。如果觉得我在讲解的时候很罗嗦或者态度不符合你性格,那也无妨,独立做出题的人也不少,你自然去问他们咯。于是从这一点反应我不是大神。
当然,很多人觉得叫我大神纯粹是讽刺,我在听的时候也会听出来的,这种情况下我会采取不同的态度应对过去。当然态度很奇特你会以为我傻,那就这样认为吧。
最后强调下:我不是大神。
就这样吧,不过我在心里还是很乐意解答各位的问题的,在我方便的情况下欢迎骚扰!
祝好,各位学业有成!
张宁(ZNing)
写于2013年10月14日23:27:12
个人认为,本次作业难度不高,基本是基础题。但看了分析后发现我们问题竟然如此突出。于是很多不求甚解的同学向我询问一些问题,基于此,撰写此篇以告众人。
(注:凡是此篇提到的所有问题,包括与之相关的一系列问题,我将不再现场讲解,请勿频繁打扰)
PART 0思维弥补
之前说下,很多同学都认为自己是零基础,或者兴趣不在于此,一句“不会”就让人去教,因而不自主思考就询问他人,或者遇到困难多次无法解决就放弃直接问同学源码。说实话,靠人不如靠己,他人也有自己的计划和生活,如果他人忙着或有正在思考的事情之时还去打扰,那确实是不礼貌的。我高中语文老师曾经说过一句话,暂且允许我断章取义:“如果你都会了,你还用学习吗?直接去当专家好了!”
好吧,与君共勉,进入正题。
对于编程学习思维,我个人认为有以下几点,简略几句就结束:
1、求人不如求己,求己不如求书,求书不去求Google(非百度)。
2、不要因写程序而写程序,而需要以问题出发,用数学思维去解决问题,以算法为工具去“翻译”成C语言。
3、样例不是万能的,多举几个合适的例子(或反例)去测试程序,会使程序AC几率提高的。
4、闲着没事去玩玩程序,自己改下已经写完的程序或者故意让他出错,会让你在以后程序测试出错时迅速判断程序错误原因的。
5、仔细仔细再仔细!!!在出错时先不要认为自己写的程序是对的!!!自己先去检查一遍!!!问别人只会害自己!!!
完事了,再次进入正题。
PART 1 Problem 1002
很神奇的一道题目,当时我做此题的时候还只是在纸上写出来的再打在cb(code::blocks)上的,运行成功提交OJ就AC了,觉得没有什么难度。可是出乎我意料,这个题是问我问的最多的一个题。于是我观察了一下分析统计,发现只要能一次通过的,都通过了。不通过的,都至少WA或其他问题3次以上才过。就说这么多,写下我的观点就进入PART2。
1、一定要严格按照SAMPLEINPUT和SAMPLE OUTPUT来输入输出!!!这里是许多人犯的错误。不仅是这个程序,以后的程序都要注意这一点。此程序是空格和scanf中输入部分极容易犯错。有问题的一定要首查此错。
2、此题不宜过多语句表达式来计算所输出的东西。具体的自己看书去理解(个人观点),因为太多语句表达式就太多变量,会使人看眼花的。
PART 2 Problem 1003/1004/1006/1007
四个问题中有两个上课讲过,不过圆周那个题还是有一少部分同学做错,在此不在赘述。注意以下问题吧:
1、1003我cb上曾用过#define PI=3.14但运行出错,可能宏定义写错了,于是改成数字常量直接进程序。说明此点原因是我们在以后所学习内容时,不要拘泥于一种做法去编程,一题多解不仅仅是数学的要求。
2、1004中对于平均值何时将int转换double,如何将int转换double是是关键,崔老师在课堂上也讲过并且演示过。这里不在赘述。
3、1003看好题目要求,每一行输出的是哪些数就没问题。对于不会进制转换并输出的,请看教材或Google一下。
PART 3 Problem 1005/1009/1010
1005汇率和1009打折和1010闰年是跟数学沾边很多的,只要建立了完整的数学模型,将数学语言“翻译”为C语言,只要没有语法及输入输出格式错误,一般是没问题的。如果出错,请仔细考虑你的建模是否完整,再次检查程序。
PART 4 Problem 1008/1012
绝对值和水仙花数的问题应该是很经典的题目了。主要关注的也是PART 3所说的,但这两个程序逻辑性相比比以上几个题目多一点,希望各位注意下。纯数学语言到C语言的转换应遵循C语言语法和算法的规则。
PART 5术后语
我已经放弃治疗好长时间了,所以能看到这里说明你很有毅力。
说实话,对于C语言的学习的的确确是自己的事情,最近很多人问的题很大一部分并不是知识性问题,而是最基础的学习态度以及性格问题。很多人包括我在代码出现错误的第一反应是咒骂此题,不过骂归骂,每个人的反映态度不同。有的人会自己检查代码,尝试去修改多次编译,几百次的失败换取一次的成功(夸张手法,不喜勿喷);有的人却耐不住性子让别人去看代码。不过看归看,别人指出的问题一定要记住,这些零碎的问题会让你在以后的编程里集合成大的严重的错误。如果你不记住这些问题,下次再出现相同问题再让同一个人去看会烦的。因为这是知识性问题,查查书看看教程实例就解决了,实在不行就Google一下。
看出来了我是在吐槽可是想吐的文明点而已。于是,在从侧面反映出我并不是大神。因为大神是要和蔼的,我在某些情况下是做不到的。比如问问题不要把同一个问题犯三遍,而且还说仔细检查之后说没问题让我检查,这种情况下我不讲我认为不是我的问题。当然,别人认为是我的问题那也无妨,这是别人的观点对我没影响。如果觉得我在讲解的时候很罗嗦或者态度不符合你性格,那也无妨,独立做出题的人也不少,你自然去问他们咯。于是从这一点反应我不是大神。
当然,很多人觉得叫我大神纯粹是讽刺,我在听的时候也会听出来的,这种情况下我会采取不同的态度应对过去。当然态度很奇特你会以为我傻,那就这样认为吧。
最后强调下:我不是大神。
就这样吧,不过我在心里还是很乐意解答各位的问题的,在我方便的情况下欢迎骚扰!
祝好,各位学业有成!
张宁(ZNing)
写于2013年10月14日23:27:12
相关文章推荐
- http://www.blogbus.com/eastsun-logs/7762285.html
- http协议学习系列
- HTTP请求消息格式
- Wireshark基本介绍和学习TCP三次握手
- Wireshark基本介绍和学习TCP三次握手
- android网络图片搜索——基于百度图片搜索引擎
- TCP/IP三次握手与四次挥手
- 《深入理解计算机系统》--链接
- 中国移动与9 供应商构建4G网络
- iscsi存储
- eclipse ADT在线安装 https://dl-ssl.google.com/android/eclipse无法访问
- 网络子系统56_ip协议分片重组_重组分片
- 数据结构学习笔记——stack实现(数组篇)
- 数据结构c++实现----[栈的应用]括号配对
- 关于单机最大tcp连接数 及 linux 下 TCP 连接数修改
- 双网卡的灵活使用
- 基于TCP编程的socket
- Windows7操作系统怎样设置无线网络
- HTTP Server 'Bad Gateway' ( Android adt 或者 sdk 更想不了的解决方案)
- (C语言)串定长顺序存储实现(数据结构十二)