ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:196.74KB ,
资源ID:20338473      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20338473.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西工大大作业报告Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西工大大作业报告Word格式文档下载.docx

1、2 详细设计 32.1 程序结构 32.2 主要功能 32.3 函数实现 42.4 开发日志 43 程序调试及运行 43.1 程序运行结果 43.2 程序使用说明 43.3 程序开发总结 44 附件(源程序) 41 摘要1.1 设计题目1、程序设计歌星大奖赛;2、素数幻方;1.2 设计内容1.2.1歌星大奖赛1、 完成原有任务:在歌星大奖赛中,有十个评委为参赛选手打分,分数为1100分。选手最后得分为:去掉一个最高分和去掉一个最低分后其余八个数的平均分。请编写一个程序实现。2、在此基础上追加任务:同时对评委评分进行裁判,即在十个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分偏离最

2、大)的评委。3、 思考流程:在完成任务的目标下,限定得分域(score=0|score=100);输出评委号使分数明晰化;通过比较个评委所打分数与最终得分的偏离情况来对评委进行简单考核。1.2.2素数幻方 求四阶的素数幻方。即在一个4X4 的矩阵中,每一个格填 入一个数字,使每一行、每一列和两条对角线上的4 个数字所组成的四位数,均为可逆素数。 在实际编程中,采用了很多程序设计技巧,假如设置若干辅助数组,其目的就是要最大限度的提高程序的执行效率,缩短运行时间。下面的程序运行效率是比较高的1.3 开发工具开发工具:Visual C+ 6.0开发环境:Win321.4 应用平台Windows 20

3、00/XP/Vista 32位2 详细设计2.1 程序结构2.2.1歌星大奖赛 首先,将一组评委打分记录到所定义数组内。由题目中去掉最大值最小值的要求先假设当前的最大值 max 为C语言整型数的最小值-32768 ;假设当前的最小值 min为C 语言整型数的最大值32767。 考虑到得分的合理性,建立分值区域限定(scorei100)。由if语句判定,如输入错误,提示重新输入,并将重新输入的合理值读入。 通过if语句比较筛选出其中的最高分、最低分,并计算总成绩及平均分。 将评委所评分与平均分减的绝对值重新赋给数组,比较其中的最大最小值。2.2.2素数幻方 首先设想采用穷举法,设定4X4矩阵中每

4、一个元素的值后,判断每一行、每一列和两条对角线上的4个数字组成的四位数是否都是可逆素数,若是则求出了满足题意的一个解。 充分利用题目中的“每一个四位数都是可逆素数”这一条件,可以放弃对矩阵中每个元素进行的穷举的算法,先求出全部的四位可逆素数(204个),以矩阵的行为单位,在四位可逆素数的范围内进行穷举,然后将穷举的四位整数分解为数字后,再进行列和对角线方向的条件判断,改进的算法与最初的算法相比,大大地减少了穷举的次数。 对算法的进一步研究会发现:当设定了第一和第二行的值后,就已经可以判断出当前的这种组合是否一定是错误的(尚不能肯定该组合一定是正确的)。若按列方向上的四个两位数与四位可逆数的前两

5、位矛盾(不是其中的一种组合),则第一、二行的取值一定是错误的。同理在设定了前三行数据后,可以立刻判断出当前的这种组合是否一定是错误的,若判断出矛盾情况,则可以立刻设置新的一组数据。这样就可以避免将四个数据全部设定好以后再进行判断所造成的低效。2.2 主要功能1) 本程序可应用于评分制比赛中。通过比较,确定并去掉所打分数中的最大最小值,将其余值计入有效得分,并进一步求得其平均分。2) 通过进一步比较每位评委所打分数与选手最终的分,对评委进行裁判,确定出打分相对合理与相对不合理的评委。最分别输出这两位评委的打分及编号,更彰显了比赛的公正性。3) 将评分及评委编号一同输出,更方便核证与考察求四阶的素

6、数幻方。2.3 函数实现2.3.1歌星大奖赛将评委打分记录入所定义数组,合理应用for循环语句的嵌套及if判断语句实现部分数值的判定。筛选出最大最小值,同时也在追加问题中选出打分偏差最大最小值。具体见2.1程序结构及2.2功能实现。2.3.2素数幻方开始找出全部四位的可逆素数;确定全部出现在第一和最后一行的四位可逆素数;在指定范围 内穷举第一行在指定范围内穷举第二行若第一、第二、三行已出现矛盾,则继续穷举下一个数;在指定范围内穷举第四行判断列和对角方向是否符合题意若符合题意,则输出矩阵;否则继续穷举下一个数;结束2.4 开发日志6月3日,选择构思大作业;6月4日,投入大部分时间,初步完成程序编

7、写。并基于美观合理的目的,对程序进行修改与完善;6月6日,最终审核程序,并作进一步调试。请同学检查并记录其评价与建议;6月7日10日,进一步检查并完成论文的写作。3 程序调试及运行3.1 程序运行结果 3.1.1歌星大奖赛运 行 截 图相关改进【3-1】此为刚开始考虑不周,未加入分值域限制时产生的错误,显然“197”已超过打分上限。【3-2】为避免发生输入错误而产生上述分值反常的发生,特作调整,效果如左图。【3-3】如果仅仅考虑选手所得分数,不能直观明晰评委态度。为了做到真正的合理公开化,应将评委与相应分值一通输出。【3-4】在将评委与所打分值打包输出地同时,将选手得分做了陈列,能更清楚地反映

8、选手的得分情况。同时,对评委打分的合理性也做了相关考察。3.1.2素数幻方3.2 程序使用说明3.2.1歌星大奖赛本程序设计过程中,全面考虑其使用性。故输出相应的汉字提示,使界面更加人性话。操作简单方便易于上手和推广。1、首先,打开程序,根据实际评委数量确定数组长度;2、根据界面提示,以此输入各位评委所打分值 ;3、如有输入错误,根据系统提示,进行相应改正 4、数据输入完全后,所得结果形式多样,一目了然5、根据情况需要,选取相应结果进行相关分析。3.2.2素数幻方3.3 程序开发总结此次程序设计大作业的编写,使我更深入得懂得了C语言的魅力不仅在于其丰富多变的形式,更在于它全面宽泛的应用价值。单

9、就歌星大奖赛的评分系统,有了此类程序设计的应用,带来的便捷是有目共睹的。这也是我第一次完全独立地去设计一个系统化、实用性的程序。虽然在编写过程中,无严重语法错误。但着手前的考虑不周确实带来了不少阻碍。设计一个实用性程序,不仅要求结果的正确无误,更要保障其符合实际情况,能带来真正意义上的方便。本程序设计过程中,在一次次的尝试与总结下,我在原有简陋程序的基础上,加入分值域的限制,为了反应清楚,将分值与评委对号入座,并追加设计了对评委的考核标准。一定程度上达到了实用性、合理性的要求。总之,通过这次程序设计大作业,我充分练习了循环、数组等有关内容,对课本知识也有了纲要性地掌握。我会更加认真对待每一次程

10、序设计,努力提高自己的编程水平。4 附件(源程序)4.1 未加入分值域限制及数值类型时的程序(初稿)(对应上图【3-1】):#include math.hvoid main() int score11,i,max,min,sum;max=-32768; /* 先假设当前的最大值 max 为 C 语言整型数的最小值 */ min=32767; /* 先假设当前的最小值 min 为 C 语言整型数的最大值 */ sum=0; /* 将求累加和变量的初值置为 0*/ for(i=1;i max)max=scorei; /* 通过比较筛选出其中的最高分 */ if(scorei min)min=sco

11、rei; /* 通过比较筛选出其中的最低分 */ Canceled max score:%dnCanceled min score:%dn ,max,min);Average score:,(sum-max-min)/8); /* 输出结果 */ 4.2 更换数据类型,并对数值合理性进行判断(对应上图【3-2】)int score11,i,max,min,sum,a,b;lable:if(scorei100) printf(Wrong socren);goto lable; /* 对数值合理性的改进 */ max) max=scorei; a=i;min) min=scorei; b=i;im) m=scorei; c=i;n) n=scorei; d=i;打分最合理的评委:%dn 相对不合理的评委: %dn,d,c);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1