- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一维数组和函数综合编程练习
实验七:一维数组和函数综合编程练习
1.掌握定义函数的方法;
2.掌握函数实参与形参的对应关系,以及值传递的方式;
3.掌握函数的嵌套调用和递归调用的方法;
4.掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法;
5.掌握一维数组的定义、赋值和输入输出的方法;
6掌握一维数组的有关算法(特别是排序算法);
二:实验内容及要求:
学生成绩统计
从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别下列:
(1)统计不及格人数并打印不及格学生名单(2)统计成绩在全班平均分及平均分之上的学生人数并打印学生名单(3)统计各分数段的学生人数及所占的百分比Please enter num and score until score0:987896756569798786784558-8
Total students:12
9610120 45
9610121 58
Fail students = 2
9610110 98
9610111 78
9610112 96
9610116 79
9610117 87
9610118 86
9610119 78
Above aver students = 7
90-100: 2 16.67%
80-89: 2 16.67%
70-79: 4 33.33%
60-69: 2 16.67%
Failed: 2 16.67%
请按任意键继续. . .
五:实验心得与体会:
这次实验总得来说还是挺有难度的。不过,通过这次实验后,我对数组和函数的嵌套调用和递归调用有了更深一步的认识。虽然自己在解决这种嵌套式结构还很不熟练,但是都过不断练习与分析可以提高自己的水平。此外,通过这次试验,发现自己对于数组的认识还是很欠缺的,很多方面自己很难理解甚至是混淆。所以,不断研究和努力是最为关键的!
这次实验主总得来说是有些难度,特别是对数组的定义与赋值还有函数的嵌套调用和递归调用。在程序设计上,依照题目的提示,我对自定义的函数进行程序内容的扩充。但是在给
int ReadScore(long num[], float score[])
进行编程时出问题。一开始,我是这样编程的:
int ReadScore(long num[], float score[])
{
int i=0;
do{
scanf(%ld%f,num[i],score[i]);
i++;
}while(sun[i]=0);
return i;
}
但是运行程序的时候,计算机只让我输入了7次就自动停止了输入,而且在按照此程序运行时允许的7次输入次数中,我数入了-7但是计算机并未执行停止输入的程序,直到我输入7次数据为止,而将该语句快改成:
int ReadScore(long num[], float score[])
{
int i=0;
scanf(%ld%f,num[i],score[i]);
while(score[i]=0)
{
i++;
scanf(%ld%f,num[i],score[i]);
}
return i;
}
程序正常运行,而且在允许次数内输入-7,输入程序终止。相比较两者,发现两者的while(sun[i]=0)判断语句有所不同。对于出现错误的第一个语句快,sum[i]中的i是原来i的增量,while(sun[i]=0)语句中sum[i]其实没有任何的值,因而程序运行错误。而后者正确的语句内,while(sun[i]=0)语句中sum[i]有正确的定义,有准确的值,所以程序正常运行。不过这只是我个人的看法,希望老师能够跟我好好讲下这个问题。与此同时,我还有个疑问,先前我们定义了 float score[ARR_SIZE];
long num[ARR_SIZE];
那么在输入score[i]和num[i]时就不必考虑他们输入的次数,是不是系统就直接默认了i的总数为30呢?
对于【思考题】 在编程实现对数据的统计任务时,需要注意什么问题?
我想首先数据个数不能超过制定的范围;其次,在套用循环的过程中,我们得注意循环的结构和变量的取值问题。例如,开始定义变量的初始值,变量在一次统计后的变化情况,统计结束后,变量值的
文档评论(0)