![C语言编程实践报告_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/9def4513-5af1-4dd6-a424-7b92219ace44/9def4513-5af1-4dd6-a424-7b92219ace441.gif)
![C语言编程实践报告_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/9def4513-5af1-4dd6-a424-7b92219ace44/9def4513-5af1-4dd6-a424-7b92219ace442.gif)
![C语言编程实践报告_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/9def4513-5af1-4dd6-a424-7b92219ace44/9def4513-5af1-4dd6-a424-7b92219ace443.gif)
![C语言编程实践报告_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/9def4513-5af1-4dd6-a424-7b92219ace44/9def4513-5af1-4dd6-a424-7b92219ace444.gif)
![C语言编程实践报告_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/9def4513-5af1-4dd6-a424-7b92219ace44/9def4513-5af1-4dd6-a424-7b92219ace445.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息管理与信息系统专业C语言编程实践总结报告系统名称:名:胡荣荣号:201423107级:1403班指导教师:闫会娟2014 年 12 月 25 日1.要求通过本专业实践活动,使学生达到如下要求:(1)能够根据实际问题,抽象出计算机处理的求解方法;(2)正确运用C语言中的程序语句、控制结构、数组、函数等,采用结构化程 序设计方法,设计并实现歌手评分的统计功能;(3)通过讨论,扩展程序设计的思路,提高对 C语言程序设计的理解。2.系统功能说明(1)系统中歌手和评委的人数不固定,但歌手最多100名,评委最多10人;(2)录入每名歌手的编号(或姓名)及每名评委的打分(采用 10分制,评委打分最多两位
2、小数),并保存数据;(3)去掉一个最高分和一个最低分后,求每名选手的平均分;(4)按平均分由高到低的顺序对选手成绩进行排序,并保存数据;(5)按下面的运行结果样式输出结果,对提示性的语句不限语言(中英文)及格式;请输入1号歌手的姓名:小王请输入1号歌手的得分:8.20 5.23 7.55 4.22 4.22本次歌手大赛的结果公布如下:名次 歌手号歌手姓名最终得分12 小李9.60(6)要求考虑两人名次并列的情况,并显示如下(三人及以上并列不作要求)名次歌手号歌手姓名最终得分12小李9.6014小张9.6033小王9.553.程序模块的划分3.1 程序的模块结构图程序可分为四个模块:录入评委打分
3、、计算选手平均分、选手成绩排序、显示 评分结果(如下图所示)。如划分更细模块,可更改下图。1:输入歌手和评委的人数。5:求平均分2:输入歌手姓名。3:录入歌手的得分。4:求最高分和最低分6:平均分排序。7:对歌手进行排名8:输出结果。3.2 程序总体设计说明(函数名称、参数(名称、类型、功能)、功能、函数与 函数间的调用关系等)函数: main 函数,averScore 函数,QZGFZDF数,paiMing 函数。参数:int gsNum,pwNum,i,j,;/定义歌手人数,评委人数 float hscore100;用于存放每位歌手的最高分/float lscore100;用于存放每位歌手
4、的最低分 float score100100; 用于存放所有歌手的所有分数/float temp;用于交换分数的中间变量/float aver100=0;/平均分并初始化 /char name10015;用于存放姓名 /int paiming100;存放歌手排名 /功能:录入每名歌手的编号及每名评委的打分(采用 10分制,评委打分最多两位小数),并保存数据; 去掉一个最高分和一个最低分后,求每名选手的平均分;按平均分由高到低的顺序对选手成绩进行排序,并保存数据。函数与函数间的调用关系是:main函数中调用了 averScore函数,QZGFZDF函数,paiMing函数i=0i=i+1paim
5、ingi=i+1paimingi=paimingi-1进行排名4.1.2主函数的程序代码#include#include#includevoid QZGFZDF(float hscore100,float lscore100,float score100100,int gsNum,int pwNum);void averScore(int gsNum,int pwNum,float aver,float hscore100,float lscore100,float score100100);void paiMing(int paiming100,float aver100,int gsNum
6、);int main()int gsNum,pwNum,i,j;存储最高分存储最低分存储歌手的得分存储平均分并初始化存储姓名存储交换姓名中间变量/存储排名float temp;float hscore100;float lscore100;float score100100;float aver100=0;char name10015;char chName100;int paiming100;system(color D);printf(n#歉迎进入歌手评分系统 #nnn);printf( 请输入歌手人数和评委人数:);scanf(%d%d”,&gsNum,&pwNum);for(i=0;i
7、请输入d号选手的姓名: scanf(%s”,&namei);for(i=0;igsNum;i+)(printf(n 请输入 d 号选手得分:,i+1);for(j=0;jpwNum;j+)(scanf(%f,&scoreij);QZGFZDF(hscore,lscore,score,gsNum,pwNum); averScore(gsNum,pwNum,aver,hscore,lscore,score); 调用函数 /for(j=0;jj;i-)平均分排序 /(if(averiaveri-1)(temp=averi;averi=averi-1;averi-1=temp;strcpy(chNam
8、e,namei);交换姓名 /strcpy(namei,namei-1); strcpy(namei-1,chName);paiMing(paiming,aver,gsNum);printf(n*本*次* 比*赛* 最*终* 结*果* 为 *nnn);An);printf(t 名次t 姓名 t 得分n);printf( for(i=0;igsNum;i+)printf(t%d”,paimingi);printf(t%s”,namei);printf(t%.2f,averi);printf(n);return 0;void QZGFZDF(float hscore100,float lscore
9、100,float score100100,int gsNum,int pwNum)(int i,j;for(i=0;igsNum;i+) (hscorei=lscorei=scorei0;for(j=1;jhscorei) hscorei=scoreij; if(scoreijlscorei) lscorei=scoreij; return;hscore100,float void averScore(int gsNum,int pwNum,float aver100,float lscore100,float score100100)int i;int j; for(i=0;igsNum;
10、i+) for(j=0;jpwNum;j+) averi+=scoreij; averi=(averi-hscorei-lscorei)/(pwNum-2); return;void paiMing(int paiming100,float aver100,int gsNum)int i; for(i=0;igsNum;i+) paimingi=i+1; if(averi=averi-1) paimingi=paimingi-1; return;4.2 averScore函数(模块)的编程设计与调试4.2.1 averScore函数的算法设计算法如下:第一部分:i=0;第二部分:判断igsNu
11、m是否成立。若成立执行第三部分,若不成立则结束函数;第三部分:j=0;第四部分:判断jau?ri-1 )LlMHp-dVfc!r 1 ; jiwf i H airr i-1 ; aihpr t-1 卜 ;strtpn(chNaaopBat) streps (nz 犍ijH n 母醍i. 1 streps nine i-1 j RiMJinri;13忆1曰/周交族姓名”: dimremt t并?写 Form“】鼻囿 Mtuw5三%Dntunrm aridl $ettiiiysHlHinistratDr-*iEiirr.cC1l9 : mining 匚210n= svef匚dr-: aiFH-Er
12、ent tifps- -For *oml nd actu-aJI pjii-inDtcr 4S:DncunFnE:-g and S p11 inqrGflFwdti bl* typ事土:,Mcumutf wM 5attinqE店(mnl5t:ratiwA,瞿MfM ) : “riilnq 1宛立二sSBociiMinks ndiidS6ttliiigrAdHlfii5tr-dtDrXJl1lrr.CEi-i|) rrir CSItEt functlcri: EnLmHVdtEbd/ type Hr 卜+ 4 eftl、ilrlriS ; - Lartrih、占 ilhv- tuvniv h j
13、i I1 hiHJ b :”Hljil_- rl4 E上 rilauri+1 1bllarfBe bus X Finjd id Flits 1 XI 4解决方法:对函数进行调用语句改为 averScore(gsNum,pwNum,aver,hscore,lscore,score) 即使用数组名作实参。3错误信息:向函数传二维数组时行标列标都省略ICMaHY-jljHhjViE憎IiMjiri avprjgar#flnit g短修叫如彳 p11i1Fln=l 口M口打.Fir11at Mgqifp |,打口nT Isciw1?1 rf 194t scnp) (int 1;lot j:over i
14、 +-5cort| ij j J;hMC4l班t专:rDCUAAt加。allSettififlrsVfiMirtstratn1 Settl f udrninf (:为加月:Jlffertnt arriy subscrLpts ; B floataitd Flo4t riee1or面WnrMfH。s 典Ein我就。rM : Jifftrfnt (脚旗 fer (dfmI mJ actual DardMter 6而、bfa胪 m*- 0 fllH T - /HrilrriviuiriS 1 X maH iiM土6ird 通什产 I MM 询 I 2. ir=“ r .一 一 d ue- ” r j
15、 r -t - 1 | Hai / 1;E 又 区品 trdi嬴 LJ7| 才 |J veil- 1 ( JVE1|- 1 -hSC(M-E-i-lSC4KD 1 /puttlFI-3 ;解决方法:给二维数组score三加上列标.4错误信息:函数声明内的形参和和函数调用内的实参位置未对应,导致程序出错。如:void averScore(float aver100,int gsNum,int pwNum, float hscore100,float lscore100,float score100100averScore(gsNum,pwNum,aver,hscore,lscore.score)
16、;解决办法:形参实参位置一一对应。void averScore(int gsNum,int pwNum,float aver100, float hscore100,float lscore100,floatscore1001005.错误信息:函数定义末尾写成return aver;导致程序无法运行F L Tr - J J1JWdew J | OlVI Sifiir. c c 1warningdve-r5coreuoiiT 而靛IS: rtfturnirg d u-alue112-ZB-Cibji - Dmr(Ep 111 MN. Btai Id 乂 口*bu. %F讨d 访 下“日飞X |
17、. |解决方法:无返回值时应写return;4.3程序的运行请输入歌手人数和评委人数;请输入1号选手的姓名:D:DebuOOOQr eseDebue0000. exe请输入歌手人数和评委人数:3“请输入1号选手的姓名;血请输入2号选手的姓名;请输入歌手人数和评委人数,3 请输入1号选手的姓名:血请输入2号选手的姓名:“anDebue0000.exeDebueDOOO.eze请输入歌手人数和评委人数:3请输入1号选手的姓名;hu请输入2号选手的姓名:“an请输入3号选手的姓名 wmng 请输入号选手得分?请输入2号选手得分;请输入3号选手的姓名 wang请喻入3号选手的姓名:uang 请输入歌手人数和评委人数:3请输入1号选手的姓名ku”请输入2号选手的姓名:tdan请输入3号选手的姓名:.5.实践总结通过这次编程实践,我学会了如何正确的书写C程序语句,如何使用函数(首先定义一个函数,函数一经定义就可以调用它来实行功能,不过由于一个程序中有多个函数, 函数与函数积案就形成了前后位置关系, 为了使函数与定义位置无关,就要对函数进行原 形声明),向函数传数组,如何进行函数调用,传数组时知道要使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计思维在医疗技术创新中的应用
- 智能科技在家校互动中的应用与前景展望
- DB4415T 50-2025黑芝麻种植技术规程
- 个人贷款合同协议书范本
- 亲属间房产赠与合同
- 二手建筑设备买卖合同样本
- 乒乓球馆租赁合同书范本
- 不可撤销劳动合同案例析:劳动者权益保障
- 专业工作室服务合作合同样本
- 中小企业联合经营合同协议
- 保卫管理员培训课件
- 香港朗文4B单词及句子
- 数据中心运维方案
- 小龙虾啤酒音乐节活动策划方案课件
- 运动技能学习与控制课件第五章运动中的中枢控制
- 财务部规范化管理 流程图
- 苏教版2023年小学四年级数学下册教学计划+教学进度表
- 断绝关系协议书范文参考(5篇)
- 量子力学课件1-2章-波函数-定态薛定谔方程
- 最新变态心理学课件
- 【自考练习题】石家庄学院概率论与数理统计真题汇总(附答案解析)
评论
0/150
提交评论