2022年2022年计算机实训C报告 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年计算机实训C报告 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机实训C报告 .pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 综合实验报告课程名称:计算机基础综合实验(2) 姓名:沈超班级:BQ1001 学号:101008090120 指导教师:杨立勤完成日期:2012/09/ 07 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 40 页 - - - - - - - - - 2 目录目录 . 21 目的与要求 . 1 1.1 计算机基础综合实验 (2) 目的 . 1 1.2 计算机基础综合实验 (2) 的基本内容和要求 . 12 问题描述 . 3 2.1 变增求和(第 40 题) . 3
2、2.2 裁判打分(第 4 题) . 3 2.3 规则验证(第 12 题) . 3 2.4 可逆素数(第 36题) . 4 2.5 哲集实盖(第 16题) . 4 2.6 整数求积(第 13题) . 5 3 系统使用的主要函数. 64 详细设计 . 8 4.1 程序总体结构图 . 8 4.2 程序流程图 . 105 功能测试 . 16 5.1 系统主界面 . 16 5.2 变增求和 ( 第 40题) . 16 5.3 裁判打分 ( 第 4 题) . 17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
3、 - - - 第 2 页,共 40 页 - - - - - - - - - 3 5.4 规则验证 ( 第 12 题) . 17 5.5 可逆素数 ( 第 36 题) . 18 5.6 哲集实盖 ( 第 16 题) . 19 5.7 整数求积 ( 第 13 题) . 196 程序设计调试情况分析. 22 7 计算机基础综合实验 (2) 小结 . 24 参考文献 . 25 附录系统源程序(源代码需有足够的注释). 261.Mkz 目录.c . 26 2. 变增求和 .h . 28 3. 裁判打分 .h . 29 4. 规则验证 .h . 31 5. 可逆素数 .h . 34 6. 哲集实盖 .h
4、. 36 7. 整数求积 .h . 37 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 40 页 - - - - - - - - - 1 1 目的与要求1.1 计算机基础综合实验 (2) 目的C 语言程序设计是本科工科类各专业的重要基础课,主要学习程序设计的基本概念和方法,通过本门课程学习,使学生掌握C 语言的基本原理,熟练掌握程序设计的基础知识、基本概念;掌握程序设计的思想和编程技巧。计算机基础综合实验 (2) 是在学生已经具备了使用C语言编写简单的应用程序的能力,为
5、使学生对C 语言有更全面的理解,进一步提高运用C 语言编程解决实际问题的能力, 通过提出算法、 指定输入输出来设计一个解决方案。并为参加计算机等级考试作准备。1.2 计算机基础综合实验 (2) 的基本内容和要求参加计算机基础综合实验 (2) 的学生,应当认真完成计算机基础综合实验(2) 的全部内容。最终提交计算机基础综合实验(2) 成果来证明其独立完成各种实际任务的能力。从而反映出理解和运用本课程知识的水平和能力。具体如下:1代码编写规范,形成良好的编程习惯;2程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。3提交计算机基础综合实验(2) 报告电子稿、装订的打印稿。计算机基
6、础综合实验 (2) 报告内容包括以下几个方面:程序的总体设计和算法分析。程序流程图、函数说明源程序代码清单测试数据和测试过程记录遇到的问题及解决方法分析计算机基础综合实验 (2) 小结4. 程序运行方式构建一个简易菜单,形如:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 40 页 - - - - - - - - - 2 用户通过输入数值选择所需运行的子程序,当一个子程序运行结束后回到菜单界面,直至用户输入0 后退出程序。名师资料总结 - - -精品资料欢迎下载 - -
7、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 40 页 - - - - - - - - - 3 2 问题描述2.1变增求和(第 40 题)编写程序计算并输出: 1 + 12 + 123 + 1234 + 的前 n(设 0n10)项的和,n从键盘输入。例如输入: 3,则输出: 136 又如输入: 6,则输出: 137171 分析:创建一个 for 循环语句,将 1n(n为从键盘输入的数)按循环内的运算规则累及求和2.2 裁判打分(第 4 题)编写一个程序实现如下功能:有8位裁判为 1个运动员打分,请计算并输出去掉一个最高
8、分和一个最低分后这个运动员的平均得分以及所评分最接近平均分的裁判员号。裁判员号及其所打分数从键盘输入,假设裁判员号为整数,所打分数为实数。分析:定义三个整形数组, 一个存放 8 位裁判的号码, 第二个存放 8 位裁判打的分数,最后一个数组备份第二个数组,存放最初的分数排放情况; 用冒泡排序法将第二个数组中的元素升序排列,去掉一个最低分和一个最高分后求出平均分,和第三个数组中的元素求差再一一比较差值,得到要求的裁判员号2.3 规则验证(第 12 题)编写程序验证以下说法:输入一个4 位数,该数个、十、百、千位上的数互不相等,由个、十、百、千位上的数组成一个最大数和一个最小数,最大数-最小数,构成
9、一个新的4 位数。反复以上运算,使其最终结果为:6174。要求如下(下面的函数名为建议函数名):名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 40 页 - - - - - - - - - 4 用函数 int INE(int number) 检查输入的整数number各数码是否互不相等,全相等返回值为1 否则为 0; 用函数 void ntos(int number, int c) 把四位数整数 number各位数码分别存入数组 c 用函数 void sort (int
10、a )对 4 个元素的数组 a排序(升序或降序都可以); 由输入整数分解排序后的数组得到最大值和最小值: int getmax(int a ) 返回值为最大值int getmin(int b ) 返回值为最小值分析:编写 4 个子函数,分别实现以下功能:INE- 检查输入的整数各数字是否互不相等,全相等返回值为1 否则为 0;getmax-将 4 个数字降序排序后返回 4 个数字能组成的最大值; getmin- 返回 4 个数字能组成的最小值; ntos-把最大值与最小值的差值的各位数码分别存入数组,利用主函数调用 4 个子函数实现程序功能2.4 可逆素数(第 36 题)编写程序输出 1001
11、000 内的可逆素数。可逆素数是指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。如157和751均为素数,它们是可逆素数。要求调用两个子函数实现。分析:创建一个名为prime的子函数,判断主函数传送的数是否为素数,并存放在整形数组中;再创建一个change函数,将 prime 函数所判断出的素数倒序排列构成新的数字, 与整形数组中的元素一一比较,以此确定是否满足可逆素数的条件2.5 哲集实盖(第 16 题)编写函数 int Troitsky(long a) ,其功能是求出1000 000以内的所有 Troitsky数,并将它们依次放入a 指向的数组中,函数返回找到的Troitsky
12、数的个数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 40 页 - - - - - - - - - 5 Troitsky 数的定义:将该数的首位数字移动到末位数字之后得到的数是原数的整数倍。例如:将 142857的首位数字 1 移动到末位之后得到的数是428571,而428571=3*142857,因此 142857是 Troitsky 数。分析:使用子函数 Troitsky 检验系统给出的数是不是Troitsky 数,子函数内置双循环,外循环给出11000000的数
13、,内循环判断新组成的数是否是原数的整数倍2.6 整数求积(第 13 题)建立一个函数,其功能是:计算正整数num的各位上的数字之积。例如,若输入: 252,则输出应该是: 20。若输入: 202,则输出应该是: 0。分析:将正整数 num 的 3 位数字以运算语句分别截取出来赋值给三个整型变量,将三个整型变量相乘实现函数要求的功能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 40 页 - - - - - - - - - 6 3 系统使用的主要函数3.1 系统使用的主要函
14、数表序号文件名函数名函数功能说明1 变量求和 40.h qiuhe() 求出 1 + 12 + 123 + 1234 + , 的前n(设0n10)项的和 ,n 从键盘输入2 裁判打分 4.h dafen() 计算并输出8 位裁判为1 个运动员打分的情况下,去掉一个最高分和一个最低分后这个运动员的平均得分以及所评分最接近平均分的裁判员号3.1 规则验证 12.h INE() 将输入的整数4位数字拆分下来存入数组,检查输入的整数各数字是否互不相等,全相等返回值为 1,否则为 0 3.2 规则验证 12.h getmax() 将整数的 4 位数字升序排序, 并返回 4 位数字能组成的最大值3.3 规
15、则验证 12.h getmin() 返回 4 位数字能组成的最小值3.4 规则验证 12.h ntos () 截取最大值与最小值的差值的各位数字并存入数组3.5 规则验证 12.h yanzhen() 验证以下说法: 输入一个四位数,该数个、十、百、千位上的数互不相等,由个、十、百、千位上的数组成一个最大数和一个最小数,最大数减去最小数,构成一个新的4 位数。反复以上运算,使其最终结果为:6174。4.1 可逆素数 36.h prime() 求出 1001000 以内的素数,并存入数组4.2 可逆素数 36.h change() 将 prime 函数判断出的素数倒序重新排列构成一个新的数,把依
16、旧为素数的数存入数组4.3 可逆素数 36.h sushu() 输出 1001000 内的可逆素数5.1 哲集实盖 16.h Troitsky() 判断系统给出的数是否为Troitsky 数,并将符合要求的数存入数组名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 40 页 - - - - - - - - - 7 5.2 哲集实盖 16.h zjsk() 求出 1000 000 以内的所有Troitsky数6 整数求积 13.h qiuji() 计算并输出正整数num 的各
17、位上的数字之积7 Mkz 目录 .c main() 作为程序的入口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 40 页 - - - - - - - - - 8 4 详细设计4.1 程序总体结构图根据设计出如下 “C 语言实验演示系统” 的主控模块。 在主控模块中, 只要在主函数 main()前加入包含各子系统文件组成的头文件,我们就能方便的调用各子系统的函数了。图 4.1 主控模块子模块 1:图 4.2 子模块 1 C 语言课题演示系统主控模块变量求和 40 退出清
18、屏可逆素数 36 哲集实盖 16 整数求积 13 裁判打分4 规则验证 12 变量求和 40 输出等式结果利用 for 语句循环求和输入 n 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 40 页 - - - - - - - - - 9 子模块 2: 图 4.3 子模块 2 子模块 3:图 4.4 子模块 3 子模块 4:裁判打分4 输入裁判号码和成绩冒泡法排序求平均分输出打分最接近平均分的裁判的号码规则验证 12 输入一个数字互不重复的四位数循环求差验证结果输出最后
19、结果可逆素数 36 将素数倒序重组, 判断是否依旧是素数输出可逆素数判断系统给出的数是否为素数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 40 页 - - - - - - - - - 10 图 4.5 子模块 4 子模块 5:图 4.6 子模块 5 子模块 6:4.2 程序流程图哲集实盖16 判断系统给出的数是否为 Troitsky 数输出范围内所有Troitsky 数整数求积 13 输入正整数num 输出各位数字之积截取各位数字求积图 4.7 子模块 6 名师资料
20、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 40 页 - - - - - - - - - 11 图 4.8 主控模块流程图int choice;char ch;ch= y ; ch= y |ch= Y输出菜单1 2 3 4 default 6 5 qiuhe(break dafen(break yazhen() break sushu(break zjsk() break qiuji() break printf: ” 菜单选择错误!请重新输结束开始开始名师资料总结 - -
21、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 40 页 - - - - - - - - - 12 图 4.9 模块 1 流程图开始Printf( “ put in a number ” ) 输入 n Printf( “ n 前 n 项的和为:” ) i=1 i=n m=m*10+i printf( “ %d+” ,m) p=p+m i+ printf( “ b=%d” ,p) Y N 结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
22、 - - - 名师精心整理 - - - - - - - 第 15 页,共 40 页 - - - - - - - - - 13 long a10,i i=0; printf( “ %dt ” ,ai); i+; ik int k k=Troitsky(a) Y 结束N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 40 页 - - - - - - - - - 14 int count=0,i=0; n=1 i=1 acount+=n; break; i+ Y n+ N
23、long n,n1; N i*n=n1&n!=n1 i10 n=1000000 Y Y n1=(n%100000)*10+n/100000 N 图 4.10 模块 5 流程图输出 count 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 40 页 - - - - - - - - - 15 图 4.11 模块 6 流程图开始int n,u,m,s,num m=num%10 u=num%100/10 printf( “ 请输入一个三位正整数 ” ) 输入 num n=nu
24、m/100 s=n*u*m printf(n%d*%d*%d=%dn,n,u,m,s) 结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 40 页 - - - - - - - - - 16 5 功能测试5.1 系统主界面1.操作运行说明:打开主菜单,输入16 运行子模块2.运行主界面5.2 变增求和 (第 40 题) 1.操作运行说明: 输入 1,输出: 1 + 12 + 123 + 1234 + 的前 n(设 0nbj+1) temp=bj;bj=bj+1;bj+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机实训C报告 2022 计算机 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内