统计输入10个学生5门功课的成绩,求每个学生的平均分、每门课的

更新时间:2024-04-18 10:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计》

课 程 设 计 说 明 书

课程设计题目:统计输入10个学生5门功课的成绩,求每个学生的平均分、每门课的平均分及最高分所对应的学生和功课 班 级:08计算机应用技术<1>班 学 号: A083GZ053010108 姓 名: 陈 指导教师: 汤 智 华

2009.12

前 言

从C语言产生到现在,它已经成为最重要和最流行的编程语言之一。C语言具有高级语言的强大功能,却又有很多直接操作计算机硬件的功能(这些都是汇编语言的功能),因此,C语言通常又被称为中级语言。学习和掌握C语言,既可以增进对于计算机底层工作机制的了解,又为进一步学习其他高级语言打下了坚实的基础。在各种流行编程语言中,都能看到C语言的影子,如Java的语法与C语言基本相同。学习、掌握C语言是每一个计算机技术人员的基本功之。

在这次的课程设计中,我学到了很多东西,比如课堂上老师所教授的仅是基础的基础,是编程的前提,正所谓“师父领进门,修行靠个人”。老师把我们带进C的世界,让我们不再“哇!”的羡慕别人的程序设计,这是信心与兴趣的培养。

学习任何程序设计语言,都要认识几件事情。首先,要学的东西很多,但是掌握了它们之后,你会有极大的成就感。其次,学习的过程很有趣,你将体会到这一点。第三,你只有通过动手实践才能学会程序设计。最后,学习程序设计语言比你想象的容易得多,所以你肯定能掌握它。

要理解在特定背景中的程序设计方法,需要理解应用独立语言元素的机理。 该程序应用了本书学习的知识。书上的程序可帮助你获得开发程序的能力和信心,了解如何综合运用各种语言元素。最重要的是,它们能让你了解设计真实程序时会遇到的问题以及如何管理实际的代码。

如果第一次读复杂的程序没有完全理解,不必担心。第一次难免会觉得难以理解,因为它们通常都是把你所学的知识应用到了相当复杂的问题中。如果你真的不能理解,书是非常有用的资源,那可得要多看书多请教老师咯,然后再回头研究这些程序。

这也是学习程序设计语言的一个重要部分。尝试修改 程序,看看还能让它们做什么,这是很有趣的。不要害怕尝试,如果不明白某一点如何使用,输入几种变体,看看会出现哪些情况。

在做本次大作业的时候却是让我认清现实,我们离那种脱离书去编写一个程序的高超境界还很远,不得不继续努力,在这种情况下,我们重复着失败,调试,失败,调试,虽然这些很是单调,可我能够真正的感受到快乐,这是一种对未知世界探索的快乐。在这些快乐中,我们成长着。

让我们感到无比荣耀的是我们有汤智华老师陪伴,他给我们细心的培育,有问必答,而且每每不让我们失望,这是一种成功者的姿态。

- 1 -

目 录

一、课程设计课题???????????????????????????3

二、课程设计要求 ?????????????????????????? 3

三、课程设计目的 ?????????????????????????? 3

四、设计思想 ???????????????????????????? 3

五、源程序代码 ??????????????????????????? 5

六、运行过程 ???????????????????????????? 6

七、在编程中遇到的错误 ??????????????????????? 8

八、用户使用说明书??????????????????????????9

九、心得体会 ????????????????????????????10

十、参考文献 ????????????????????????????11 .

- 2 -

一 、 课程设计课题

编写一个统计学生成绩的程序,要求输入10个学生5门功课的成绩,分别用子函数求出:

1、每个学生的平均分; 2、每门功课的平均分;

3、找出最高分所对应的学生和功课。

二 、课程设计要求

1、输入10个学生5门功课的成绩; 2、要求分别用子函数求出; <1>、每个学生的平均分; <2>、每门功课的平均分;

<3>、找出最高分所对应的学生和功课。

三.课程设计目的

1、老师安排本课程设计是为学生提供了一个既动手又动脑,自学,查资料,独立实践的机会。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解。

2、通过本项课程设计,使我初步掌握C设计中的各个步骤,如设计方案确定,程序设计,软件编程,以及培养使用技术资料,编写设计说明书的能力,可以培养独立思考、 综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握 工程软件设计的基本方法,强化上机动手编能力,通过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!

同时增加了我们同学之间的团队合作精神!更加体会到以后在工作中团队合作的重要性和必要性!

3、通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。提高我们编程水平及上机调试能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。

四 、课程设计思想

1、统计输入10个学生5门功课的成绩,求每个学生的平 均分,每门功课的平均分及最高分所对应的学生和功课具 有以下特点:

(1)、当把所有的成绩输入时就找出最大值,并找出最大值所对应的科目; (2)、一次就把每科的平均分及每位同学的平均分算出来; (3)、结构简单,层次清晰,便于按模块化方式组织程序,易于调试和维护。 (4)、具有结构化的控制语句(如if...语句、for语句)。

- 3 -

2、根据统计输入10个学生5门功课的成绩,求每个学生 的平均分,每门功课的平均分及最高分所对应的学生和功课 以上特点进行编写: (1)、首先定义数组存放输入十个学生五门成绩的数,及定义相应用到的变量。 (2)、用嵌套循环输入十个学生五门功课的成绩,并找出最大值及对应的学生及功课。 (3)、输出第几人的平均分。 (4)、输出第几科的平均分。 (5)、输出最高分及最高分对应的功课及学生。 (6)、流程图如下: 开始 i=0 假 i<10 真 j=0 输出第j科课程的平均分 j<5 真 假 输入a[i][j] j++ Max

- 4 -

五 、源程序代码

#include void main() {

int a[10][5],i,j,sum,max=0,s1,s2; i=10; j=5;

for(i=0;i<10;i++) {

for(j=0;j<5;j++) {

printf(\输入第%d人第%d科的分数 :\ scanf(\ if(max

max=a[i][j]; s1=i;s2=j; } }

printf(\ }

for(i=0;i<10;i++) {

sum=0;

printf(\第%d人平均分是:\ for(j=0;j<5;j++) sum+=a[i][j];

printf(\ printf(\ }

for(j=0;j<5;j++) {

sum=0;

printf(\第%d科目平均分是:\ for(i=0;i<10;i++) sum+=a[i][j];

printf(\

- 5 -

printf(\ }

printf(\最高分数是%d\\n对应学生及科目如下:\\n学生是第%d人,科目是第%d科\\n\ getch() }

六、运行过程

1、双击WIN-TC

2、在界面中输入代码 点击“保存” 运行 编译连接并运行 所显示的就是:输入第1人第1科的成绩:89

输入第1人第2科的成绩:89

. . . . . . .

输入第10人第4科的成绩:89. 输入第10人第5科的成绩:88

回车,显示结果如下:

- 6 -

(运行显示结果图)

- 7 -

七、在编程中我遇到的错误

C编译的程序对语法检查并不象其它高级语言那么严格,这就给我们留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对我们这些初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,我在这次编程中,也总结了一些这次C编程时常犯的错误:

1、书写标识符时,忽略了大小写字母的区别。

编译程序把a和A认为是两个不同的变量名,而显示出错信息。C语言认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。

2、忽略了变量的类型,进行了不合法的运算。 sum+=a[i][j]是sun=sum+a[i][j]。

3、将字符常量与字符串常量混淆。

混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\\',而把它赋给一个字符变量是不行的。

4、忘记加分号。

分号是C语句中不可缺少的一部分,语句末尾必须有分号。 a=1 b=2

编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。

对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。

5、多加分号。 对于一个复合语句,如: for( j=0;j<5;j++) if(max=a[i][j]) {

printf(\第%d位学生的第%d门成绩\\n\ };

复合语句的花括号后不应再加分号,否则将会画蛇添足。 又如:

if(max

由于if (a%3==0)后多加了分号,则if语句到此结束,

6、输入变量时忘记加地址运算符“&”。 scanf(\

这是不合法的。Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。

7、C语言的变量一定要先定义才能使用; 8、输入时数据的组织与要求不符

对scanf函数中格式字符串中除了格式说明符外,对其他字符必须按原样输入

- 8 -

9、对二维或多维数组的定义和引用的方法不对

10、忘记加停止语句:

TC里面最后要在输出后面加:getch();否则输入执行时一闪而过,看不到运行结果。 11、了解到C++与C的区别:

C面向过程 ,C++面向对象,C++更高级了一些 ,C++ 自问世以来,已成为应用最广泛的一种编程语言。 C++ 由于其极高的灵活性、强大的功能和非常高的效率,常常用于专业应用程序的开发。正是这样的区别致使我们晚些调试出程序代码。

八、用户使用说明书

1、首要条件是计算机上安装WIN-TC。

2、双击WIN-TC 在界面上输入上述代码,如图所示:

3、保存(

),然后点击工具栏上的运行(

).若有错,会提示第几行出错;

若正确 则出现运行成功(行过程)所示。

),点击“确定”。运行结果如(六、运

- 9 -

九、心得体会

回想学习C语言 的过程中,既有快乐又有烦恼。

经过一个学期对《C程序设计》的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。

本次试验让我深深的认识到动手实践是最好的方法 ,光把书上的看懂那是没用的,只有多动手把程序调试出来,那样才能快速的进展。会使你有很大的成就感。

从领到书的那一刻,我就很郁闷,《C 语言程序设计》到底事学什么的,有什么用。刚开始上课时,还在迷茫这门课程是用来做什么的。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过半个学期的学习,我掌握了基本知识。

我们要做一周的课程设计。当时有点懵,感觉学的东西很少,很零散,不知该怎么连到一起,就要做课程设计,是不是太难为我们了。老师提前几个周就把大作业题目给我们了,我的题目是用c语言统计输入10个学生5门功课的成绩,求一些相关题目的设计程序的设计但是第一天基本上都是在看书,把基本知识再熟悉一遍。短短的课程设计结束了,虽然有两天是考试,但是这段时间里,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。又学到了更多C 知识,如:对象数组,string类,文件流等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。,也看到了团队精神和互帮互助的重要性。这一点会让我终生受益。通过课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这时间过的挺充实!

在统计输入10个学生5门功课的成绩程序的编写过程中也体会到了做事情一定要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!在统计输入10个学生5门功课的成绩程序的设计过程中更加体会到了团队合作的重要性,“三个臭皮匠顶个诸葛亮。”在程序中出现的一些小细节,有的时候只有别人才看得出,自己知道哪里是对的,不会刻意的去看那里,恰巧出错的地方就是那里。知道了只有团队合作才会更好的完成设计!也体会到以后在工作中团队合作的必要性和重要性!

通过本项课程设计也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!

在这次课程设计中也知道了自己的动手能力不强有待进一部的提高!在设计过程中不能够把书本上的知识与实践相结合,这也就增加了设计不好该程序的想法!在设计过程中的一次次设计错误增加了我放弃的想法!不过经过大家的努力终于完成了课程设计!完成该程序后想起自己以前的每一次对自己失去信心,就觉得并不是在知识掌握上打败了,而是自己对自己缺乏信心!只要自己对自己不失去信心相信就可以完成那些以前认为完成不了的事情!也让我懂得了要想成功首先就必须有很强的自信心!懂得了自己以后要在做任何事情时都要自信!当自己都不相信自己能够成功时还可能会获得成功吗?

在C语言程序设计的过程中也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以浮于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!

- 10 -

十、参考文献

1、董汉丽 潘弘喆 马双编著.C语言程序设计第五版.大连理工大学出版社,2009.1 2、董汉丽 编著. C语言程序设计习题解答与技能训练.大连理工大学出版社,2009.3 3、电脑知识与技术学术交流版〔J〕2005.2 (备注:来自网络资源) 4、网站:http://wenwen.soso.com/z/q65050533.htm?pid=wenwen.autologin

- 11 -

本文来源:https://www.bwwdw.com/article/n5hp.html

Top