这个“鸡兔同笼js编程”穷举法C语言编程哪里不对?

1499:C语言实验题――鸡兔同笼
1499: C语言实验题――鸡兔同笼
时间限制(普通/Java):1000MS/10000MS & &
内存限制:65536KByte
& & & && &
测试通过:4830
&鸡兔同笼&是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:&今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?
现有n个头和m个脚,要你写一个程序计算到底有多少只鸡和兔。
输入数据有一行,共2个整数n和m,以空格分隔。
每组数据的输出都只有一行,分别是鸡和兔的数量
题目上传者
Copyright @ , 台州学院软件理论与技术科研(教学)团队. All Rights Reserved.论文发表、论文指导
周一至周五
9:00&22:00
《用穷举法解决问题》教学设计
  教学分析 中国论文网 http://www.xzbu.com/9/view-1031930.htm     1.教学目标   知识与技能:了解什么是穷举法及其特点,以及用穷举法设计算法的基本过程;能够根据具体问题的要求,使用穷举法设计算法。   过程和方法:运用观察、发现、归纳、应用的方法,发展学生的归纳思维;培养学生独立探究与自主发现的学习能力。   情感态度与价值观:了解算法和程序设计在计算机解决问题过程中的重要性;体验将算法转变为程序的过程,享受计算机解决问题的快乐。      2.教学重点和难点   重点:用穷举算法解决问题的一般步骤;能根据具体问题的要求,提高运用穷举算法解决问题的能力。   难点:通过观察、类比多种方式培养学生归纳思维。      教学过程      1.创设情境激趣引入   教师活动:某同学用自己的QQ号登录,可他记不清密码了,你能帮他找回密码吗?他的密码是一个5位数,67□□8,其中百位和十位上的数字他不记得了,但他还记得该数能够被78整除,也能被67整除。你能帮他设计一个算法求出该密码吗?希望大家能在学习完下面这个例子后就可以解决这个问题。   设计意图:成功的教学不是强制,而是激发学生的学习兴趣,该导入正是从学生感兴趣的事情着手的。      2.观察―发现―归纳―应用   (1)观察。   教师活动:逐语句调试以下程序,分析程序的执行过程,让学生填写下表,指出此程序功能。   For i=100 to 999   a=int(i /100)   b=int(i /10) mod 10   C=i mod 10   If a^3+b^3+c^3=ithen   Printi   Endif   Next i   (2)发现。   教师引导:在分析上一程序过程中,你能发现什么?   学生发现:①通过分析程序的执行过程,可看出变量a存放的是一个三位的自然数百位上的数字,变量b存放的是其十位上的数字,变量c存放的是其个位上的数字;②一个三位的自然数,若满足百位的立方、十位的立方与个位的立方之和等于它本身,就输出;③此程序的功能是输出100~999之间的自然数。   教师总结:此程序的特点是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件。当穷举完所有对象,问题将最终得以解决。我们把这种算法称之为穷举法。      教师引导:对于此题,某同学给出了另一种解法,请分析程序的执行过程,说出他采用的是什么算法,比较哪一种方法的效率更高,为什么?   For a=1 to 9    For b=0 to 9   For c=0 to 9    If a^3+b^3+c^3=a*100+b*10+c then   Print a*100+b*10+c    Endif   Next c    Next b   Next a   学生发现:第二种方法依然采用的是穷举算法。在第一个程序中,循环的次数是900次,每次循环要执行四条语句。而在第二个程序中,循环的次数是9×10×10=900次,但每次循环只执行一条语句,所以第二个程序的执行效率高。   (3)归纳。   教师活动:通过“输出自然数”这一例子,能归纳出用穷举法解决问题的步骤吗?   学生归纳:①确定穷举对象及搜索范围:用循环或循环嵌套实现;②写出符合问题解的条件:用IF语句实现;③尽可能缩小搜索范围,减少程序运行时间,提高程序的执行效率。   (4)应用。   教师活动:现在我们反回头来看刚开始时让大家思考的那道找回QQ密码的题,在编程实现之前,我们先来分析回答以下几个和此题相关的问题:①穷举的对象是什么?其搜索的范围是什么?②符合问题解的条件是什么?③你有方法减小搜索范围,提高程序的执行效率吗?   学生活动:①穷举的对象是密码,其搜索的范围是6;②符合问题解的条件是:此数既能被78整除,也能被67整除。   学生活动:在用自然语言描述其算法后,编程实现,帮助某同学找回QQ密码。   师生互动:在编程过程中,你遇到哪些困难?你是如何解决的?   设计意图:从一个学生熟悉的例子着手,让学生在观察中发现,在发现中质疑,在质疑中归纳,在归纳中解决问题。学生增长知识的过程是轻松愉快的。      3.对比归纳,深化思维   (1)判断下列两题能否用穷举算法解决,为什么?通过分析,你能归纳出哪些能用穷举法解决,哪些不能用穷举法解决?   ①在一个直角三角形中,三条边a、b、c的长度都为整数,且一条直角边a的长度已确定,斜边c的长度不能超过某数I,找出满足条件的所有直角三角形。   ②使用一根长度为L厘米的铁丝,制作一个面积为S的矩形框,要求,计算出满足这种条件的矩形的高h和宽w。   学生归纳:通过两题的对比分析,穷举算法适用的条件是:有明显的穷举范围且求解对象应该是有限的;可以按某种规则列举对象;有穷举规则;一时找不出解决问题的更好途径时。   (2)《孙子算经》中有许多有趣的数学题,“鸡兔同笼”问题就是一个典型的例子。原题是:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”   ①此题能用穷举算法解决吗?若能,请编程实现。   学生活动:首先用自然语言描述用穷举算法解决,然后在此基础上编程实现。   ②此题还可以用其他算法解决吗?若能,请编程实现。   问题分析:此题可用现在的方程来解,可以设鸡有x只,兔有y只。根据题目条件,因为1只鸡有1个头和2只脚,一只兔有1个头和4只脚,所以可列出这样一个二元一次方程组。   学生活动:用解析法编程实现。   ③通过以上问题分析,归纳穷举算法的优点与缺点。   学生活动:比较两种不同算法,归纳出穷举算法的优点及缺点。   设计意图:学生的头脑不是一个需要填满的容器,而是一个需要燃烧的火把。通过对比、分析、归纳,引导学生的思维活动向纵深发展,由表及里,培养学生良好的思维习惯。
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。c语言编程算鸡兔同笼_百度知道
c语言编程算鸡兔同笼
#include &stdio.h&
#include &windows.h&
void main()
{ unsigned long int a,b,c,d;
c=(4*a-b)/2;
printf(&这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数&);
scanf(&%d&,&a);
printf(&\n请输入鸡...
我有更好的答案
#include &stdio.h&#include &windows.h&main(){ unsigned long int a,b,c,d;printf(&这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数&);&scanf(&%d&,&a);&printf(&\n请输入鸡兔脚的总数&);scanf(&%d&,&b);c=(4*a-b)/2; // 鸡的数目&d=a-c; // 兔的数目&if(c*2+d*4==b) printf(&鸡有%ld只\n兔有%ld只&,c,d); // c和d反了&else printf(&同学,我看你给的数有错吧!&);Sleep()。//鸡兔同笼#include&stdio.h&voidmain(){inttou=30,jiao=100;//预置头数、脚数printf(&tu=%d\n&,jiao/2-tou);//得出兔数穿盯扁故壮嘎憋霜铂睛printf(&ji=%d\n&,2*tou-jiao/2);//鸡数}EOF是文件末尾end of file的意思,也就是这个程序可以输入多组测试数据,如果默认有解那么把后面的if和else改成一句printf就可以了。
采纳率:50%
#include &stdio.h&#include &windows.h& main(){ unsigned long int a,b,c,d; printf(&这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数&);
scanf(&%d&,&a);
printf(&\n请输入鸡兔脚的总数&); scanf(&%d&,&b); c=(4*a-b)/2; // 鸡的数目
// 兔的数目
if(c*2+d*4==b) printf(&鸡有%ld只\n兔有%ld只&,c,d); // c和d反了
else printf(&同学,我看你给的数有错吧!&); Sleep(); }
同志,能说句人话解释下吗?
在代码中我有用 // 来标识我的建议啊c和d的运算必须在scanf了a和b之后才能做,不然没有意义
能把满意答案给级低的吗?
本回答被提问者采纳
同学,你应该把,c=(4*a-b)/2;
这两句放在你得到a,b两个的值之后,就是放在scanf(&%d&,&b);之后,不然你所做的求c,d算式是没值的。希望对你有帮助~~
c,d的计算公式应该放在a,b输入之后。#include &stdio.h&#include &windows.h& void main(){ unsigned long int a,b,c,d; printf(&这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数&);
scanf(&%d&,&a);
printf(&\n请输入鸡兔脚的总数&); scanf(&%d&,&b);
c=(4*a-b)/2;
c,d的计算公式应该放在这里 d=a-c;
if(c*2+d*4==b) printf(&鸡有%ld只\n兔有%ld只&,d,c); else printf(&同学,我看你给的数有错吧!&); Sleep(0); }
把以下两行放在if语句前c=(4*a-b)/2; d=a-c;
#include &stdio.h&#include &windows.h& void main(){ unsigned long int a,b,c,d;
printf(&这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数&);
scanf(&%d&,&a);
printf(&\n请输入鸡兔脚的总数&); scanf(&%d&,&b);
c=(4*a-b)/2; d=a-c;
if( c*2+d*4==b)
printf(&鸡有%ld只\n兔有%ld只&,d,c); else
printf(&同学,我看你给的数有错吧!&); Sleep(0); }
2条折叠回答
其他3条回答
为您推荐:
其他类似问题
c语言编程的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言程序设计基础
出版说明高等学校计算机基础教育教材精选在教育部关于高等学校计算机基础教育三层次方案的指导下,我国高等学校的计算机基础教育事业蓬勃发展。经过多年的教学改革与实践,全国很多学校在计算机基础教育这一领域中积累了大量宝贵的经验,取得了许多可喜的成果。随着科教兴国战略的实施以及社会信息化进程的加快,目前我国的高等教育事业正面临着新的发展机遇,但同时也必须面对新的挑战,这些都对高等学校的计算机基础教育提出了更高的要求。为了适应教学改革的需要,进一步推动我国高等学校计算机基础教育事业的发展,我们在全国各高等学校精心挖掘和遴选了一批经过教学实践检验的优秀的教学成果,编辑出版了这套教材。教材的选题范围涵盖了计算机基础教育的三个层次,包括面向各高校开设的计算机必修课、选修课,以及与各类专业相结合的计算机课程。为了保证出版质量,同时更好地适应教学需求,本套教材将采取开放的体系和滚动出版的方式(即成熟一本、出版一本,并保持不断更新)。坚持宁缺毋滥的原则,力求反映我国高等学校计算机基础教育的最新成果,使本套丛书无论在技术质量上还是文字质量上均成为真正的“精选”。清华大学出版社一直致力于计算机教育用书的出版工作,在计算机基础教育领域出版了许多优秀的教材。本套教材的出版将进一步丰富和扩大我社在这一领域的选题范围、层次和深度,以适应高校计算机基础教育课程层次化、多样化的趋势,从而更好地满足各学校由于条件、师资和生源水平、专业领域等的差异而产生的不同需求。我们热切期望全国广大教师能够积极参与到本套丛书的编写工作中来,把自己的教学成果与全国的同行们分享;同时也欢迎广大读者对本套教材提出宝贵意见,以便我们改进工作,为读者提供更好的服务。我们的电子邮件地址是&jiaoh@tup.tsinghua.edu.cn。联系人:焦虹。清华大学出版社前言C语言程序设计基础作者在高校从事了三十年的C语言程序设计课程的教学,深切地感受到C语言程序设计作为一门计算机基础课程,其重要性不仅仅体现在一般意义上的程序编制,更体现在如何培养学生运用计算思维解决问题的能力。在长期的教学实践中,作者遇到的最大问题是学生在上课时基本都能够听懂,可到了自己动手做习题的时候,就会觉得无从下手,不会编程。尤其是面对较复杂的应用问题时,往往束手无策。究其原因,就是不知道程序设计的思想方法,缺乏应有的计算思维能力。所有这一切,从主观上说,与教师的教学方法有关,与学生的学习态度有关;而在客观上,与教材体系编排和教学内容组织有着更大的关系。面对这样一些问题,我们在多年教学经验的基础上,决定编写本教材。写给使用本教材的教师:(1)&贯穿于教材中的计算思维主线 计算思维是一种人们对于一个问题描述、建立模型以及问题最后求解这一过程的科学思维能力,它已经成为人们本质的、必须具备的一种基础思维方式和能力。程序设计是将分析和解决问题的思维活动转化成计算机程序的过程。从这个角度讲,程序设计最能够体现问题求解的思想方法,是对学生进行思维训练的一个最直接、最具操作性的平台。学生编程过程中,通过问题分析、算法设计、程序实现来体验问题求解的思维训练过程。所以,学生学C编程的目的不应是单纯掌握C语言的语法规范,不是单纯学习C语言程序设计技术,而是学习利用计算机分析和解决问题的基本过程和思维方法。将计算思维融入程序设计教材中有助于提升学生的编程水平。从思维方法的高度培养学生,可以让学生自觉地运用计算思维来看待问题、思考问题和解决问题,从而实现教学由传授知识到培养能力的转变。传统C语言程序设计教材存在的问题是教材内容过分关注语言的语法和语义细节,以语法规则为纲来组织教学内容。由于C语言具有大量繁杂的语法知识点,教师只能采用灌输式教学模式,花费大量课时用于讲授琐碎的语法知识,而不是重在程序设计思想和方法的传授,教学效果不好。针对高校C语言程序设计课程教学中存在的问题,通过梳理现有教学内容,对教学的知识点不做大的更换,主要是改革教材体系结构,我们精心设计教学内容与案例,增加与计算思维有关的内容,以计算思维为主线进行重新组织。为了让学生学会如何运用计算机科学的基础概念进行问题求解,强调与培养计算思维能力有关的数据结构和算法实现,重点突出以“构造”为特征的问题求解方法的培养。每个教学单元从问题开始讲起,以问题为核心规划单元内容,通过设计性内容,培养学生分析问题、解决问题、研究和探索问题的能力。在解决问题的过程中形成计算性思维。最后通过综合性的应用培养学生的创新意识。让学生应用已有知识分析、解决与实际生活或工作相关的问题。让学生在实践中获得成就感。潜移默化地培养学生的计算思维技能和应用创新能力。C语言程序设计基础前言(2)&问题驱动的教学方法授人以鱼不如授人以渔。融入计算思维,教学方法是关键。从解决问题的角度出发,强调解决问题的方法、思路,这就是计算思维。计算思维用抽象与分解的方法来处理复杂的问题,通过对问题进行合适的表达以及对问题建模来使问题变得容易解决。为了让计算思维在本教材中落地,我们在每个教学单元都采用了问题驱动即基于问题的教学方法(Problem?Based&Learning,PBL)。这种方法不像传统教学那样先学习理论知识再解决问题。采用PBL教学方法,对于教材的每一章,我们都在第一节提出若干问题和思想方法,在该章后续的内容中再介绍解决本章内容的语法规则。对于章节中的每个例题也都是按这个思路组织的。实施问题驱动的关键是精心设计提出的问题。在设计问题时选择了贴近生活和能让学生感兴趣的内容,注意问题的典型性,同时兼顾知识的覆盖面,学生利用现有的能力能够实现,同时要具有一定的代表性,对解决其他相似问题具有指导意义。计算思维是一种思维方式,也是一种解决问题的思考过程,计算思维的目标在于解决问题。从现实角度来说,计算思维就是问题抽象、模型建立、算法设计和实现以及问题引申的过程,也就是将未知问题归纳成若干已知问题从而求解的过程。主要从三方面来突出计算思维。首先是问题驱动,从原始问题入手。原始问题是指在现实世界中客观存在的,尚未被分解、简化、抽象的实际问题。在这个过程中编程者先通过观察,对问题进行深入的认识和理解。有了问题,说明学习的目标找到了,而只有解决问题的学习才是有意义的。生活和工作中需要的,便是学习的方向。通过学习解决问题,新问题出现了,再从解决问题入手进行学习,如此形成良性循环。教材的每一章的第一部分主要以展示经典案例为主,提出一些经典问题,结合生活中的实际应用过程,形象直观地向学生们展现C语言程序设计的魅力所在。其次是问题抽象与分解,将问题同知识点联结。C程序设计语言包括各种常量、变量、数组、结构、指针和函数等符号。抽象就是使用C语言的符号代替实际问题中的各种变量。为了机器的自动化运行,用顺序结构、选择结构和循环结构对过程进行分解,从程序模块化到语句结构化,在抽象分解过程中进行符号转换和编写程序。在分析问题和解决问题中训练学生有关计算思维的抽象和分解能力,寻找一个切入点将该问题同编程者已有的知识和经验进行联结;最后通过变换,将一个问题转化为另一个或分解成另几个容易解决的新问题,以达到解决原问题的目的。从问题引入知识点,用知识点带动学生对语法的掌握、对算法的理解及对设计的熟悉。这种传授知识、技能和计算思维的一体化教学模式,摒弃了原有的“重语法、轻方法、不谈思维”的错误教学方法,而是使教学目标从“知识和技能”的传授上升到“思维”的教学。第三,注重算法思维。在计算思维技能中,算法思维是在思考使用算法来解决问题的方法。这是学习自己编写计算机程序时需要开发的核心技术。有些问题是一次性的,但解决这些问题的方案,则可以不断发展。在同类问题重复出现时,算法思维就可以介入。没有必要重新每次从头思考,而是采用每次都行之有效的解决方案。解一个问题,想一想方法,还有哪些问题使用了相同的思想和方法。这就是教了学生计算思维。基于此,在教材中融入一些基本算法,例如迭代、递推、穷举、递归、排序、查找等。在算法讲解中,采取循序渐进的方式进行,例如对于交换的问题,我们从最简单两个量的交换,三个量的交换,到一维数组逆置问题中的多个量交换,再到二维数组转置问题中的下三角元素和上三角对应元素的交换,这样引导学生利用所学知识,一步步分析问题,从简到难,充分调动学生的好奇心和求知欲,发挥个人潜能去分析并寻找解决问题的方法,引导学生编程并在计算机上加以调试实现。最后,培养学生掌握使用自动化思维进行信息处理的能力。计算思维算法强调利用计算机的速度和存储优势,通过严格机械化的操作时序解决实际问题。比如“鸡兔同笼”问题可以使用两个二元方程组进行数学求解,但是计算机算法则可以使用穷举法进行简单重复的操作求解,充分利用了计算机的计算速度优势。在程序设计课程中强化计算思维训练,可以让学生掌握使用自动化思维进行信息处理的能力。(3)&教师应是学生与教材交流的中介者教学过程是教师、学生、教材、环境诸因素交互作用的动态过程,是一个“生态系统”。教师的作用就是要引导、启发。作为老师主要不在于传授知识,而在于引导学生自己去求得知识,也就是引导学生自己去发现问题,自己去解决问题。叶圣陶将教师的这种作用比作教孩子走路:&“老师讲,目的是要达到不用讲,好比帮孩子学走路,先牵着他走,扶着他走;进一步让他自己走,在旁边护着他;最后完全可以放心了,就让他自己走,护也不用护了。上课也一样,不能光灌输,要多启发,多引导。”教师要从知识的传授者、灌输者、拥有者转向教学活动的引导者、激励者、服务者。教师要大胆地接受新的教学理念,把学生转换成为课堂的重点,引导鼓励学生自主学习创新的学习能力。使教师的中介作用可以提供给学生更好的教学服务。教师引导学生养成良好的计算思维和编程的好习惯,有意识地训练学生仔细阅读题目,找出问题的关键并抽象为数学模型,思考数学模型求解的步骤,用所学的计算机编程语言将算法编写成一个源程序在计算机上调试运行,并能对每个程序的结果加以分析,引导学生对已有算法的优缺点进行思考和分析,如何进行简化和优化,最好能给出一些能优化改进的算法。这种中介引导作用提炼并展现了隐藏在知识背后的计算思维的光芒,引起学生求知欲望和心理共鸣,就是培养了学生的计算思维能力。(4)&简单易用的Dev?C++上机环境对于学生来说,通过上机实践,最初学习是很有趣味的,但在后续学习中却因为语法内容的增多,使用语言工具的繁琐,反而降低了学习热情。所谓的“成在实践,败在工具”。“工欲善其事,必先利其器”,早期用得最多的IDE开发工具是Turbo&C。1997年微软推出了一款C/C++编译器——VC++6.0,VC++6.0界面友好,调试功能强大,非常经典。很多高校将VC++6.0作为C语言的教学基础,作为上机实验的工具,至今仍然有很多企业和个人在使用。对于初学者VC++6.0是比较容易上手的,但其对标准支持得不好可能使人养成不良的编程习惯。VC++6.0适合在低配置的机器上使用,在高配置的系统上,VC++6.0有一些兼容性问题。可能在配置环境的时候给初学者造成一些不必要的麻烦。微软后来对VC++6.0进行了升级,并更名为Visual&Studio(简称VS),支持更多的编程语言,拥有更加强大的功能。但是&Visual&Studio&文件很大,约有3GB,大部分功能初学者暂时不会用到,而且安装繁琐,不用时很难卸载干净,占用资源较多,低配置的机器不能使用。GCC(GNU&Compiler&Collection,GNU编译器套装)是一套由GNU开发的编程语言编译器。它是一套以GPL及LGPL许可证所发行的自由软件,也是自由的类UNIX及苹果计算机Mac&OS&X操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。Linux平台下推荐使用GCC。在Windows下,也有集成了GCC的开发工具,如Dev?C++。Dev?C++是一款自由软件,遵守GPL许可协议分发源代码。Dev?C++集成使用了GNU的GCC,是对于C99支持最好的编译器,它的ANSI&C/C++兼容性远好于微软的VS系列。可以用此软件实现C/C++程序的编辑、预处理、编译、链接、运行和调试。它是一种轻量级的C/C++编程工具,具有关键字加亮,不同颜色显示等功能,还具有代码自动补全功能,可以根据程序上下提示所有可能的指令,从而提高编程效率,还有完善的调试功能。简单配置就可以上手使用,让初学者免于面对庞大IDE比如Visual&Studio的困惑,让初学者更多地关注于语言本身而不是一个繁琐的IDE。由于Dev?C++简单实用,操作简便,特别适合初学者,避免了初学者学习C语言编程时使用其他开发工具的困惑。Dev?C++是学习C或C++的首选开发工具,适合初学者与编程高手的不同需求。Dev?C++是NOI、NOIP等比赛的指定工具,ACM比赛测试用的也是Dev?C++环境。作者推荐使用Dev?C++作为高校C语言的教学和上机实验的工具,本教材上机环境也是使用的Dev?C++。(5)&因类施教的折中式体系编排根据各个计算机和非计算机专业(例如理学类、艺体类、工程类和文史类)学生的特点和各个专业的需要,首先在教学内容的选取上加以区别对待,在教材体系编排上采用折中式组织。兼顾程序设计和语法规则两方面的需要,将每一章分成基本内容和阅读延伸两部分。在每一章的基本内容中,主要讲解程序设计的思路和方法以及C语言的重要语法规则,重点突出程序设计,学生们学完了这部分内容就可以编写程序了。将一些在课堂教学中难以组织的内容放在阅读延伸部分,如一些较大的应用问题、一些语法细节以及并不是所有读者都感兴趣的非主流问题等,另外各个学校之间,同一学校计算机和非计算机专业所讲授内容有所不同,程序设计课程的教学时数一般为64~96。基于这些差异性,教师可以根据自己专业的特点选择讲授阅读延伸部分内容。也可让学生自学这部分内容。这样做极大地方便了教师的使用,改变了学生先学习大量枯燥的知识再编程的方法,大大提高了学习效率。写给使用本教材的学生:学习C语言编程,首先要解决的是书籍。教材不仅遵循学科逻辑,而且遵循学生学习的心理逻辑,形成了高度结构化的教材,不仅为教师教学提供基本的操作框架和步骤,提示教学方法,而且还为学生学习提供指引。学编程,仅靠记概念、背算法是不够的。本教材在每章的基本内容中提供了丰富的例题,对每一个例题或者算法,要注意总结其中的算法思想和程序设计过程与方法,还有其中涉及的重要语法规则及应用方式等。每一章都配备了习题和实验问题,便于学生课后做编程练习。建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有哪些不足,再试着修改自己的代码。习武之人首先要学的都是各种套路,题做多了,才能做到“做题过万道,编程如有神”。其次是学习方法,好的学习方法将事半功倍。学生们在编写完程序之后,&还可以上机实践。通过写程序和上机实践,就会慢慢理解程序设计的思想,用过的方法多了,遇到问题时才有可能想到解决的思路。初学者可能会感觉编程很难,可是当你编写出了一个个的程序,就会觉得其实也并不是那么难,就会有成就感。反过来这种感觉会更加激发学习的热情。最后,我们精心制作了本教材的视频课程,将做成慕课帮助学生更好地学好C语言编程,提供实时交互的在线编程环境,互帮互助的问答社区,师生之间、学员之间还可以在线交流。由于时间仓促,书中难免存在不妥之处,请读者原谅,并提出宝贵意见。作者2017年7月
直属事业部
扫描关注官方微博
扫描关注官方微信
版权所有(C)2014 清华大学出版社有限公司 京ICP备号 京公网安备48号

我要回帖

更多关于 穷举法编程题 的文章

 

随机推荐