C程序设计思想与方法

作者:尹宝林
出版社:机械工业出版社
图书定价:¥36.00
图书目录
在线阅读
这本书不是一本关于C语言本身的书,而是一本关于使用C语言进行程序设计的书。
希望读者能通过本书掌握程序设计的基本方法,使用C语言编程解决具有一定规模的小型问题,能够比较顺利地写出包含几十行、几百行源代码甚至更长一点的程序,能够了解和掌握对程序质量评估和改进的基本思想和方法,能够为进一步培养和发展自己的专业化程序设计能力打下良好的基础。
本书面向对C语言和数据结构等相关知识有基本的了解、又希望提高自己实际程序设计能力的读者,既包括计算机以及相关专业的学生,也包括刚刚走上工作岗位的专业人员。本书主要讨论中小规模程序的分析、设计和实现过程、指导原则、以及常用的方法,并结合例题介绍这些方法和原则在实际编程中的具体运用。
活动时间:
2009年2月5日——2009年3月5日
作者介绍:
尹宝林:1973年10月毕业于北京航空学院计算机专业,1984年获英国爱丁堡大学博士学位。现任北京航空航天大学计算机系教授、博士生导师。从事计算机专业教学和科研工作多年,曾主讲《C语言程序设计》、《高级语言程序设计》、《UNIX程序设计环境》、《计算机图形学》、《图像处理》等课程,其中《高级语言程序设计》被评为北京市精品课程。主编过《离散数学》教材一部。参加全国信息学奥林匹克(NOI)活动的组织与指导工作,任全国信息学奥林匹克科学委员会副主席。
参与要求:
一、参与活动必须为chinaunix论坛注册会员;
二、活动采用两种形式:
1.简答题:
说明:
(1)为了便于最终测试评定,提交的每个程序都必须带有in.txt,out.txt,前者表示数据数据文件,后者表示输出数据文件,同时代码要求必须有详细注释;
(2)提交作品时要求带有可执行文件,直接执行程序,即可从in.txt读取输入数据,最后把输出结果保存到out.txt。
(3)可实现多组输入。
题目见附件。
活动细则:
(1)代码规范:使用标准C语言,采用编程标准可以使项目更加顺利地完成。
(2)性能:应用程序运行正常,可以执行用户或客户所需的所有任务,并不意味着程序在任何方面都是完美的,更高的运行性能才能我们所追求的。
(3)简洁:写代码是一种艺术。除了正确的缩进、大小写、命名规则之外,请时刻牢记爱因斯坦的名言--简单就是美。
(4)每位会员可以发表多个代码,以最高评价为准,不可重复获奖;
(5)提交代码请跟帖发表,并附相关系统环境及编译环境说明(推荐Linux kernel 2.6.28,gcc 4.32)
2.读样章写感受
我们提供前言、第2章及第8章的内容提网友点评。评论内容是本书对您的工作学习产生了怎样的影响,以及您自己真实的体会。
奖项设置:
奖品:
1、每道问题设置:
优秀奖一名,奖励积分1000分或者任选以下赞助图书一本
入围奖十名,奖励积分100分
2、整个代码大赛活动设置入围全能奖三名,奖励积分1000分,或者任选以下赞助图书一本
3、书评奖为三名,奖励积分1000分,或者任选以下赞助图书一本
奖项设置规则:
优秀奖,代码最工整,算法最优秀,能够完成问题提出的需求
入围奖,代码工整,算法优秀,能够完成问题提出的需求
入围全能奖,奖励完成所有题目的用户,并且答案满足入围奖的要求
书评奖,书评为最优秀的书评
注:严禁抄袭,包括代码和书评,一经发现,取消评选资格;
代码类似,以发表时间为准,取最早发布或者修改时间者为优秀
试题:
QUOTE:
1.给定一个整数N,生成一个N*N的矩阵,矩阵中元素取值为1至N2,1在左上角,其余各数按顺时针方向旋转前进,依次递增放置。例如,当N=4时,矩阵中的内容如下:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
2.给定n(3 £ n £ 50000)个闭区间[ai, bi](1 £ i £ n, ai,bi均为非负整数),将这些区间合并为不相交的闭区间。输入文件的第一行包含一个整数n,为区间的数目。以下有n行,每行各包括两个空格分隔的整数ai 和 bi,表示一个区间[ai, bi](0 £ ai £ bi £ 1000000)。计算结果写在标准输出上,各区间按照升序排列输出。每一行包含两个用空格分开的整数,分别描述一个区间的上下界。例如,对于下列输入数据:
5
5 6
1 4
10 10
6 9
8 10
输出为:
1 4
5 10
3.从标准输入中读入N(1<N<10000)行以换行符结束且长度不超过2048的字符串,并在输入结束后输出其中最长10行的输入序号、长度和内容。当有多行长度相等的最长行时,输出最先输入的行的信息。参考【例2-7】的讨论,分别使用不同的方法实现这一程序,比较各种方法的运行效率。
4.写出程序求解Hanoi双塔问题。从标准输入上读入正整数n(n < 12),在标准输出上输出盘子的移动动作。盘子的尺寸由1到n,输出数据格式为:
move <盘子编号> from <原位置> to <新位置>
其中<盘子编号>为<d>a或<d>b,其中<d>是一个小于等于n的正整数,在初始状态下尺寸相同的盘子中a盘在b盘之上,<原位置>和<新位置>均为字母ABC中的一个。例如,移动序列的第一个动作可能是move 1a from A to C。
5.从标准输入上读入一个由数字和四则运算符组成的后缀表达式,将其转换为中缀表达式。后缀表达式中的运算符不超过15个,数字可以是整数,也可以是带有小数部分的浮点数,数字和运算符之间由空格分隔。转换后的中缀表达式中不应出现不必要的括号和空格,且转换前后各运算数的出现顺序不变。例如,对于后缀表达式:
4 7 - 2.1 5 + * 7.1 9 - /
输出
(4-7)*(2.1+5)/(7.1-9)
6.有大、中、小三个酒桶,分别能装A斤、B斤和C斤酒,其中A、B、C均为整数,A=B+C,B>C>0,且A为偶数。现在大桶装满了酒,另外两个桶都空着。写程序求解用这三个桶将酒平分成为两份的操作序列。当无解时输出字符串“No”。
7. 读入一个不超过20000000个字符的正文文件,统计其中所有由字母组成的单词及其所在的行号。文件中各个单词之间以空白符或标点分隔,区分大小写。按单词的字典序在标准输出上输出统计结果,输出格式为<word>: <h1> <h2> … <hn>,每个单词一行,其中<word>是单词,<hn>是行号。行号之间由空格分隔,按升序排列,不得重复,即当一个单词在一行出现多次时,只输出该行号一次。
8. 写一个程序,列出环境变量PATH中包含的所有目录的路径名。注意,Unix/Linux上PATH中各个路径名之间的分隔符与Windows上的不同。使用条件编译,使你的程序可以适用于这两种系统。
奖品图书:
算法导论(原书第2版)


作者:美)Thomas H.Cormen, Charles E.Leiserson 等 译者:潘金贵
出版社:机械工业出版社
图书定价:¥85.00
Oracle精髓(第4版)

作者:(美)Rick Greenwald;Robert Stackowiak;Jonathan Stern
出版社:机械工业出版社
图书定价:¥49.00
Rails高级编程

作者:(美)Brad Ediger 译者:FreeWheel
出版社:机械工业出版社
图书定价:¥55.00
Solaris应用程序设计

作者:(英)格夫(Gove,D.)著
出版社:机械工业出版社
图书定价:¥49.00
大家都去参加吧,呵呵,我只是转载的哦。点击参与>>>

最新回复
剑心通明 (2009-2-10 21:01:05)