徐霞课程设计报告

徐霞课程设计报告

ID:33572082

大小:173.00 KB

页数:7页

时间:2019-02-27

徐霞课程设计报告_第1页
徐霞课程设计报告_第2页
徐霞课程设计报告_第3页
徐霞课程设计报告_第4页
徐霞课程设计报告_第5页
资源描述:

《徐霞课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、江苏省江阴职业技术教育中心校JingYinVocationalTechnologyEducationSchool课程设计报告课程名称:C语言设计题目:车牌号码班级:06计信(2)班姓名:徐霞学号:0621403224指导教师:丁燕萍江苏省江阴职业技术教育中心校二○○八年五月目录题目分析……………………………………………………………………(1)总体设计……………………………………………………………………(2)代码实现……………………………………………………………………(3)常见问题分析………………………………………………………………(3)心得体会…………

2、…………………………………………………………(4)参考资料……………………………………………………………………(5)江苏省江阴职业技术教育中心校课程设计课程设计报告一.题目分析1.题目要求:课程内容(求解车牌号码)有一起车祸,一辆卡车违反交通规则撞死了行人,司机驾车逃跑了:当时有三个目击者,但都没有看清车牌号码,只注意到号码的某些特征。甲:记得牌照前两数字相同;乙:记得牌照后两数字相同;丙是一位数学家,他说:牌照是一个四位数,并且这数是一个整数的平方。根据这些线索,通过适当的算法解出正确的牌照号码。2.具体分析:1.甲乙丙三人的证言2.处理过程3.汽车

3、号码n对于上面的案子,要做的其实很简单,要根据三个证人的信息,得出一汽车牌照的号码来。如图1所示。中间的(2)部分就是后面我们要努力完成的。下面我们先来看一下(1)和(3)如何解决。(3)比较简单,只要用一个输出语句输出来就行了。我们假设车牌号码是n,重点是(1)。(1)包含了三个条件,三个条件可以这样描述:1.n是个四位数从该条件中我们知晓,这个数是界于0001-9999之间的,用条件来描述即1<=n<=99992.四位数n前两个数位相同图1要表达n的前两位数字,已知该数是n,要用到一点技巧,需先将其前两个位数从n中分离出来,怎样分离呢?通过观察不难

4、发现如下的特点,该数的左边第一位数,即最高位上的数除以1000后,得到的整数部分正是该数。我们设它为a,则有a=n/1000。左数第二位如何呢?可以利用上面的特点和上面得到的a,得到如下的关系:b=(n-a*1000)/100。这个关系虽然有点复杂,但只要仔细想想就能明白它们之间的关系。得出这两个数来了,则四位数n前两位数相同可表示为如下:a=b3.四位数n后两个数也相同同上面分析第二位数时一样,第三位数c也有如下特点:c=(n-a*1000-b*100)/10,第四位上的数d如下:d=n-a*1000-b*100-c*10。得出了c和d,则可以表示如

5、下:c=d4.四位数n是某一整数的平方5--江苏省江阴职业技术教育中心校课程设计从上面的条件得知,n既然是某一整数的平方,则开方后得到的一定是整数所以该条件可表示如下:sqr(n)=(int)sqr(n)。二.总体设计通过上面对条件和结果的分析,处理过程也就明确了,我们让电脑作的工作是什么呢?实质上就是将n定在0001-9999的范围之间,我们将n分成4个数位,a,b,c,d,将符合a=b,c=d且sqr(n)=(int)sqr(n)的数找出来。因为数非常多,并且特点相似,所以要用到循环,循环多少次呢,1-9999,9999次。我们的重点问题成了图2,

6、将符合三条件的结果输出。要根据条件输出,必须先有条件,才能输出,所以该问题又可分成两大部分,如图3所示。Forn=1to9999将符合三个条件的结果输出1.求出塑造条件用到的abcd四个量2.根据三个条件判断输出图2图3(1)求出塑造条件用到的a,b,c,d,四个量。a,b,c,d,在上面已经求出。(2)据三个条件判断输出,所以这一步成了我们要重点解决的问题。因为针对某一个四位数n,可能有两种情况,是车牌号或不是,所以此处是一个分支的情部,条件正是上面已做出的三个条件的综合,在条件成立一方输出结果,不成立一方则什么都不用做。图4是对图2和图3的详细描述

7、。a=n/1000,b=(n-a*1000)/100,c=(n-a*1000-b*100)/10,d=n-a*1000-b*100-c*10Forn=1to9999a=bTFc=dTF①输出:n图4输出:n5--江苏省江阴职业技术教育中心校课程设计Sqr(n)=(int)sqr(n)TF①三.代码实现#include#includemain(){intn=1,a,b,c,d;for(;n<=9999;n++){a=n/1000;b=(n-a*1000)/100;c=(n-a*1000-b*100)/10;d=n-a*1

8、000-b*100-c*10;if(a==b&&c==d&&sqrt(n)==(int)sqr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。