计算机实训C报告.pdf
《计算机实训C报告.pdf》由会员分享,可在线阅读,更多相关《计算机实训C报告.pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上盅纪仙学院综合实验报告课程名称:计算机基础综合实验(2)姓 名:沈超_ _ _ _ _ _ _ _ _ _ _ _ _ _班 级:_ _ _ _ _ _ _ BQ1001_学 号:101008090120指导教师:杨立勤_ _ _ _ _ _ _ _ _ _ _ _ _完成日期:2012/09/07目录目录.21 目的与要求.11.1计算机基础综合实验(2)目的.11.2计算机基础综合实验(2)的基本内容和要求.12 问题描述.32.1变增求和(第 40题).32.2 裁判打分(第 4 题).32.3 规则验证(第 12题).32.4 可 逆 素 数(第 36题).42.5 哲 集 实 盖(
2、第 16题).42.6 整数求积(第 13题).53 系统使用的主要函数.64 详细设计.84.1 程序总体结构图.84.2 程序流程图.105 功能测试.165.1 系统主界面.165.2变增求和(第40题).165.3 裁判打分(第4题).175.4 规则验证(第12题).175.5 可逆素数(第36题).185.6 哲集实盖(第16题).195.7 整数求积(第13题).196程序设计调试情况分析.227计算机基础综合实验(2)小 结.24参考文献.25附 录 系 统 源 程 序(源代码需有足够的注释).26l.Mkz 目录.c.262.变增求和.h.283.裁判打分.h.294.规则验
3、证.h.315.可逆素数.h.346.哲集实盖.h.367.整数求积.h.371目的与要求1.1计算机基础综合实验(2)目的C 语言程序设计是本科工科类各专业的重要基础课,主要学习程序设计的基本概念和方法,通过本门课程学习,使学生掌握C 语言的基本原理,熟练掌握程序设计的基础知识、基本概念;掌握程序设计的思想和编程技巧。计算机基础综合实验(2)是在学生已经具备了使用C语言编写简单的应用程序的能力,为使学生对C 语言有更全面的理解,进一步提高运用C 语言编程解决实际问题的能力,通过提出算法、指定输入输出来设计一个解决方案。并为参加计算机等级考试作准备。L 2 计算机基础综合实验(2)的基本内容和
4、要求参加计算机基础综合实验(2)的学生,应当认真完成计算机基础综合实验的全部内容。最终提交计算机基础综合实验(2)成果来证明其独立完成各种实际任务的能力。从而反映出理解和运用本课程知识的水平和能力。具体如下:1 .代码编写规范,形成良好的编程习惯;2.程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。3.提交计算机基础综合实验(2)报告电子稿、装订的打印稿。计算机基础综合实验(2)报告内容包括以下儿个方面:程序的总体设计和算法分析。程序流程图、函数说明 源程序代码清单 测试数据和测试过程记录 遇到的问题及解决方法分析计 算机基础综合实验Q)小结4.程序运行方式构建个简易菜单,
5、形如:1用户通过输入数值选择所需运行的子程序,当一个子程序运行结束后回到菜单界面,直至用户输入0 后退出程序。22问题描述2.1 变增求和(第 40题)编写程序计算并输出:1+12+123+1234+的前n(设0n10)项的和,n从键盘输入。例如输入:3,则输出:136又如输入:6,则输出:137171分析:创建一个for循环语句,将1n(n为从键盘输入的数)按循环内的运算规则累及求和2.2 裁判打分(第 4 题)编写一个程序实现如下功能:有8位裁判为1个运动员打分,请计算并输出去掉一个最高分和一个最低分后这个运动员的平均得分以及所评分最接近平均分的裁判员号。裁判员号及其所打分数从键盘输入,假
6、设裁判员号为整数,所打分数为实数。分析:定义三个整形数组,一个存放8位裁判的号码,第二个存放8位裁判打的分数,最后一个数组备份第二个数组,存放最初的分数排放情况;用冒泡排序法将第二个数组中的元素升序排列,去掉一个最低分和一个最高分后求出平均分,和第三个数组中的元素求差再一一比较差值,得到要求的裁判员号2.3 规则验证(第 12题)编写程序验证以下说法:输入一个4位数,该数个、十、百、千位上的数互不相等,由个、十、百、千位上的数组成一个最大数和一个最小数,最大数-最小数,构成一个新的4位数。反复以上运算,使其最终结果为:6174o要 求 如 下(下面的函数名为建议函数名):3 用 函 数int
7、INE(int number)检查输入的整数number各数码是否互不相等,全相等返回值为1否则为0;用函数void ntos(int number,int c口)把四位数整数number各位数码分别存入数组c 用函数void sort(int a口)对4个元素的数组a排序(升序或降序都可以);由输入整数分解排序后的数组得到最大值和最小值:int getmax(int a)返回值为最大值int getmin(int b)返回值为最小值分析:编写4个子函数,分别实现以下功能:INE-检查输入的整数各数字是否互不相等,全相等返回值为1否则为0;getmax将4个数字降序排序后返回4个数字能组成的最
8、大值;getmin-返 回4个数字能组成的最小值;ntos-把最大值与最小值的差值的各位数码分别存入数组,利用主函数调用4个子函数实现程序功能2.4 可 逆 素 数(第 36题)编写程序输出1001000内的可逆素数。可逆素数是指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。如157和751均为素数,它们是可逆素数。要求调用两个子函数实现。分析:创建一个名为prime的子函数,判断主函数传送的数是否为素数,并存放在整形数组中;再创建一个change函数,将prime函数所判断出的素数倒序排列构成新的数字,与整形数组中的元素一一比较,以此确定是否满足可逆素数的条件2.5 哲 集 实 盖
9、(第 16题)编写函数int Troitsky(long a),其功能是求出1000 000以内的所有Troitsky数,并将它们依次放入a指向的数组中,函数返回找到的Troitsky数的个数。4Troitsky数的定义:将该数的首位数字移动到末位数字之后得到的数是原数的整数倍。例如:将 142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此 142857 是 Troitsky 数。分析:使用子函数Troitsky检验系统给出的数是不是Troitsky数,子函数内置双循环,外循环给出11000000的数,内循环判断新组成的数是否是原数的整数倍2.6
10、整 数 求 积(第 13题)建立一个函数,其功能是:计算正整数num的各位上的数字之积。例如,若输入:2 5 2,则输出应该是:20。若输入:2 0 2,则输出应该是:0。分析:将正整数num的3 位数字以运算语句分别截取出来赋值给三个整型变量,将三个整型变量相乘实现函数要求的功能53 系统使用的主要函数3.1系统使用的主要函数表序号文件名函数名函数功能说明1变量求和4O.hqiuhe()求 出1 +12+123+1234+的 前n(设0n10)项的和,n从键盘输入2裁判打分4.hdafen()计算并输出8位裁判为1个运动员打分的情况下,去掉一个最高分和一个最低分后这个运动员的平均得分以及所评
11、分最接近平均分的裁判员号3.1规则验证12.hINE()将输入的整数4位数字拆分下来存入数组,检查输入的整数各数字是否互不相等,全相等返回值为1.否则为03.2规则验证12.hgetmax()将整数的4位数字升序排序,并返回4位数字能组成的最大值3.3规则验证12.hgetmin()返回4位数字能组成的最小值3.4规则验证12.hntos()截取最大值与最小值的差值的各位数字并存入数组3.5规则验证12.hyanzhen()验证以下说法:输入一个四位数,该数个、十、百、千位上的数互不相等,由个、十、百、千位上的数组成一个最大数和一个最小数,最大数减去最小数,构成一个新的4位数。反复以上运算,使
12、其最终结果为:6174。4.1可逆素数36.hprime()求出1001000以内的素数,并存入数组4.2可逆素数36.hchange()将prime函数判断出的素数倒序重新排列构成一个新的数,把依旧为素数的数存入数组4.3可逆素数36.hsushu()输出1001000内的可逆素数5.1哲集实盖16.hTroitsky()判断系统给出的数是否为Troitsky数,并将符合要求的数存入数组65.2哲集实盖16.hzjsk()求出1000 000以内的所有T roitsky数6整数求积13.hqiujiO计算并输出正整数num的各位上的数字之积7M kz目录.cmain()作为程序的入口74详细
13、设计4.1程序总体结构图根据设计出如下“C 语言实验演示系统”的主控模块。在主控模块中,只要在主函数main()前加入包含各子系统文件组成的头文件,我们就能方便的调用各子系统的函数了。图4.1 主控模块子模块1:图4.2子模块18子模块2:图4.3 子模块2子模块3:图4.4 子模块3子模块4:图4.5 子模块4子模块5:图4.6 子模块5子模块6:图4.7 子模块610开始图4.8 主控模块流程图开始11图4.9 模块1流程图开始1213N14图4.10 模块5流程图 4.11 模块6 流程图155功能测试5.1 系统主界面1.操作运行说明:打开主菜单,输入16运行子模块2.运行主界面5.2
14、 变增求和(第 40题)L操作运行说明:输入1,输出:1 +12+123+1234+的前n(设 0n1350F331裁切蒂”二二“二一二22467:W分翳*21*直8位裁判为1个运动同打金,请亡算并喷出去掉一个最高分和一个最低分后这个运动员的平均前以以帚吩段就平均分的萩货喷号输入8位裁判的号码:11 23 12 33 42 10 19 24清各位裁判打分:100 92 98 93 95 96 97 99平均分为9 6.33最接近的裁判是号=再次输入菜单号或退出 0?:5.4规则验证(第12题)1.操作运行说明:输入3,验证以下说法:输入一个四位数,该数个、十、百、千位上的数互不相等,由个、十、
15、百、千位上的数组成一个最大数和一个最小17数,最大数减去最小数,构成一个新的4 位数。反复以上运算,使其最终结果为:6174o2.运行界面题王伴和证盖求验实出三一13502-4-G-7-打泰屏3C*MM=请选择菜单号 0 6:3翳好莪酷笈糕舞畲满或瞬啸癖家遍遑京瞌牌结臬为:6174清输入一个各个位数不相同的四位数4 1 9 7输人数据正确.开始计算“所能组成的最大值为9751所省绳成的最小值为1579所能组成的最小值为1278所能组成的最大值为7443所能组成的最小值为3447所能组成的最大值为9963所能组成的最小值为3699所能组成的最大值为6642所能组成的最小值为2466所能组成的最大
16、值为*4 1所能组成的最小值为1467最后计算结果为6174-再次输入菜单号或退出。一?:5.5可逆素数(第3 6题)1 .操作运行说明:输入4,输出1001000内的可逆素数2.运行界面182467*-6*0-和证盖*察求验实出“单,i“菜加於痼*择编写程序痫出 照y 0 0 0内的可逆素数满足条件的可逆素数有:1 0 17 0 13 1 11 3 19 4 11 5 17 5 17 6 11 9 19 9 11 1 33 1 37 3 37 4 33 5 39 5 39 8 31 0 79 0 77 2 73 3 79 3 73 4 71 5 79 6 71?97 8 73 8 97 9
17、71 9 97 0 99 1 99 2 97 3 91 4 99 7 13 7 3?5 73 5 91 8 13 8 31 6 77 6 9=“再次输入菜单号或退出8 7:5.6 哲集实盖(第 16题)1 .操作运行说明:输入5,输出1000 000以内的所有Troitsky数2.运行界面C课 题 酝 系 统主 菜 单曾判施数屏*“打丰编写函数i n t T r o i t s k y 其功能是求出1 0 0 0 0 0 0以内的所有T r o i t s k y数.并将它们依次放入a指向的数组中,函数返回战至猫T r o i t s k y数的个数辆足条件的T r o i t s k y的有
18、:1 4 2 8 5 7 2 8 5 7 1 4=再次输入菜单号或退出 :5.7 整数求积(第 13题)1.操作运行说明:输入6,输出正整数num的各位上的数字之积2.运行界面19=请选择菜单号一6:6十算正整数num的各位上的数字之积青输入f三位正整数由195*1-9-45=再次输入菜单号或退出0 7:20216 程序设计调试情况分析设计第4题时,如何在升序排序后,将各位裁判的打分与平均分比较以此得出打分最接近平均分的裁判员的号码成了这答题的难点,后来通过将裁判最初的打分备份在另一数组中的方法,记录最初的打分的顺序,来方便最后的比较;用一个整形数组a来记录输入的8位裁判员的号码,用数组b来记
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 报告
限制150内