版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言程序设计》综合实习报告学号131842218姓名熊伟班级计1341指导教师陈学进安徽工业大学工商学院2014年6月课题一:根据条件进行学生成绩排名一、目的1.熟悉变量、数组定义、使用、输入、输出等基本操作2.进行选择、循环结构程序设计练习3.掌握冒泡法排序的算法4.掌握函数的定义、调用、声明,以及参数的两种传递方式二、实习环境个人计算机,Windows操作系统,TurboC2.0或WinTC或VisualC++等编译开发环境三、实习内容与步骤1.在函数中进行10个学生成绩从高到低排名sort(inta[10])2.改进第一步的函数为sort(inta[],intn),进行n个学生成绩从高到低排名,3.改进第二步的函数为sort(inta[],intn,charstyle),将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。(a:ascending升,d:descending降)四、程序流程图、算法及运行结果1,流程图2,算法#include<stdio.h>voidsort(inta[10]){inti,j,temp;for(i=0;i<10;i++)for(j=0;j<9-i;j++){if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}main(){inta[10]={59,58,74,86,98,88,73,65,95,80};inti;sort(a);for(i=0;i<10;i++){printf("%5d",a[i]);};}结果:(2):#include<stdio.h>voidsort(inta[],intn){inti,j,temp;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++){if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}main(){inta[1000];inti,n;printf("pleaseinputn:\n");scanf("%d",&n);for(i=0;i<n;i++){scanf("%5d",&a[i]);}sort(a,n);for(i=0;i<n;i++){printf("%5d",a[i]);}getch();}结果:(3)#include<stdio.h>voidsort(inta[],intn,charstyle){inti,j,temp;if(style=='a'){for(i=0;i<n;i++)for(j=0;j<n-1-i;j++){if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}if(style=='d'){for(i=0;i<n;i++)for(j=0;j<n-1-i;j++){if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}}main(){inta[1000];inti,n;charstyle;printf("pleaseinputstyle:\n");scanf("%c",&style);printf("pleaseinputn:\n");scanf("%d",&n);for(i=0;i<n;i++){scanf("%5d",&a[i]);}sort(a,n,style);for(i=0;i<n;i++){printf("%5d",a[i]);}getch();}结果:上升:下降:五、知识点、难点及解决办法。冒泡法这种方法容易出错,要想做好此题,必须在做这类提前复习好冒泡法。六、编程小结或体会。要熟练的掌握冒泡法排序的算法,要熟练运用if语句,循环语句。要掌握函数的定义、调用、声明,以及参数的两种传递方式课题三:学生成绩单制作1.掌握结构体变量及数组的定义、赋值、初始化、输入、输出2.结构体数组的操作。二、实习环境个人计算机,Windows操作系统,TurboC2.0或WinTC或VisualC++等编译开发环境三、实习内容与步骤1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2.从键盘输入10个学生的以上内容3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分5.将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:numbernamemathChineseEnglishaverage103tom909010095101alice908070806.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段及运行结果(屏幕截图)。7.在实习报告中说明知识点。8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会。四、程序流程图、算法及运行结果1,流程图2,#include<stdio.h>#include<string.h>#defineN,10structstudent{intnum;charname[20];intscore[3];};main(){structstudentst[10];inti,j,k,max1,n,m;floataverage[10],max2,b;charch;printf("Pleaseinputnumnameandthreescores:\n");for(i=0;i<=9;i++){scanf("%d%s",&st[i].num,&st[i].name);for(j=0;j<=2;j++)scanf("%d",&st[i].score[j]);}for(j=0;j<=2;j++){i=0;max1=st[i].score[j];for(i=0;i<=9;i++)if(max1<=st[i].score[j]){max1=st[i].score[j];k=i;}printf("%-10d%-15s%-5d\n",st[k].num,st[k].name,st[k].score[j]);}for(i=0;i<=9;i++){average[i]=0;for(j=0;j<=2;j++)average[i]=average[i]+st[i].score[j];average[i]=1.0*average[i]/3;}max2=average[0];for(i=0;i<=9;i++)if(max2<=average[i]){max2=average[i];k=i;}printf("%-10d%-15s%-5.2f\n",st[k].num,st[k].name,average[k]);for(i=0;i<=9;i++)for(j=0;j<9-i;j++)if(average[j]<average[j+1]){b=average[j];average[j]=average[j+1];average[j+1]=b;k=st[j].num;st[j].num=st[j+1].num;st[j+1].num=k;strcpy(ch,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,ch);for(n=0;n<=2;n++){m=st[j].score[n];st[j].score[n]=st[j+1].score[n];st[j+1].score[n]=m;}}printf("number\tname\tmath\tChinese\tEnlish\taverage\n");for(i=0;i<=9;i++){printf("%-10d\t%-10s\t",st[i].num,st[i].name);for(j=0;j<=2;j++)printf("%-6d\t",st[i].score[j]);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 围蔽安装合同模板
- 2024年城市公共交通系统升级改造合同
- 外墙美化服务合同模板
- 作者版权合同范例
- 外贸货代合同范例
- 主城养殖转让合同模板
- 个人抵押合同模板
- 2024年城市更新项目合同管理
- 2024年城市生活垃圾处理与资源化利用合同
- 临沂大学《光学》2021-2022学年第一学期期末试卷
- 福建省泉州市德化县2023-2024学年七年级上学期期中考试道德与法治试题
- 职业生涯规划-医生职业说明
- 信息资源目录编制规范(用于个人参考学习版本)
- 互联网的定义及发展历程
- 马克思主义基本原理智慧树知到课后章节答案2023年下齐鲁工业大学
- 苏教版译林初中英语词汇表(七年级至九年级)
- 学而思小学奥数知识体系
- 教育科学研究方法的教案
- 输精管吻合术后护理查房
- 一年级上册数学单元测试-第八单元 20以内的进位加法(培优卷) 人教版(含答案)
- 2016年软考中级系统集成项目管理工程师下午《应用技术》真题及答案
评论
0/150
提交评论