C语言学生成绩排序.doc
文本预览下载声明
课程设计报告
学生姓名:郑泷浩 朱恒栋 霍永杰 周龙
专 业:电子信息科学与技术
班 级:2010电子
2013年01月07 日
目录
课程设计目的与要求…………………3
程序设计题目…………………………4
调试与测试………………………………..5
实验思路………………………………6
源程序清单………………………………...7
执行结果…………………………………. .11
实验小结.......................................................12
课程设计目的与要求
一. 课程设计目的:
本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用,使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。
二. 课程设计要求:
1. 学生独立完成课程设计的主要内容;
2. 按照实验课表安排进行,不得无故旷课;
3.按照选题规则确定课程设计题目,不可随意更换,但可在完成规定的任务之后,根据个人兴趣选做其它题目;
4.严格按照报告格式撰写课程设计报告;
5.程序实现方式可以自选,可采用指针、数组或其任意组合方式完成。
程序设计题目
1.学生成绩排序
(1)定义一个数组a[11],用以存放学生的成绩,从键盘输入10个学生成绩;
(2)采用冒泡法,将学生成绩按照从高到低进行排序并输出
(3)再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组,输出结果;
(4)将排好序的成绩单进行反序存放并输出,即原来是从高到低,现改为从低到高排列;
调试与测试
在设计时,没打出一个模块都进行调试与测试,如果错误或不能达到预期效果,就检查。调试过程中总是会出现数组名和变量名不一样的问题。检查时,通过查资料、问同学老师解决。
实验思路
源程序清单
#include stdio.h
void main()
{
int i,j;
float a[11],t;
for(i=0;i10;i++)
{
printf(第%d个学生的成绩:\n,i+1);
scanf(%f,a[i]);
}
for(i=0;i10;i++)
{
for(j=0;j10-i-1;j++)
{
if(a[j]a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i10;i++)
printf(%g ,a[i]);
printf(\n);
printf(插入学生的成绩:\n);
scanf(%f,t);
if(ta[9]) a[10]=t;
else if(ta[0])
{
for(i=9;i=0;i--)
a[i+1]=a[i];
a[0]=t;
}
else
{
for(i=9;i=1;i--)
{
a[i+1]=a[i];
if(a[i]=t a[i-1]=t)
{
a[i]=t;
break;
}
}
}
for(i=0;i11;i++)
printf(%g ,a[i]);
printf(\n);
for(i=10;i=0;i--)
printf(%g ,a[i]);
printf(\n);
}
执行结果
实验小结
通过本次试验巩固了所学的C语言知识。实验中让我们温习了以前所学的冒泡法,冒泡法 比较难懂,又是比较基础的 ,让我们知道了必须要学好,从这次实验中我们知道了自己的不足,以后要多温习,巩固。
显示全部