C语言程序设计-12.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2014卓越班C语言程序设计实验 C语言程序设计实验十二 实验目的 江苏省等级考试的上机考与全国等级考试的上机考形式完全不同,江苏省等考上机只考两题,一题是改错题,但并不提示错误的位置,需要自已动脑。 改错题通常有3~4个错误。错误分为两大类,一类是语法出错,这类错误比较查错和容易修改,即修改通过编译程序提示的错误。另一类是结果出错,即程序的算法出错,这类错误需认真审题。 另一题是编程题。这类题需要整体编程。要求必须常用算法和函数参数和传递。 编程题必须掌握C语言的文件,应熟悉文件指针的定义,文件的打开及文件的输入输出。 实验指导 【12.1程序功能】 在一组数值给定的整数中查找次大数。 【编程要求】 1、编写函数int findsecmax(int data[], int count)。函数功能:在data数组的前count个整数中查找次大数。 2、编写函数main()。函数功能:声明一个整型数组a并用测试数据初始化,用数组a及数组元素个数作实参调用findsecmax 函数找出次大数,然后将原数组及次大数输出到屏幕及数据文件myf12_1.out中。最后将考生本人的准考证号字符串输出到文件myf12_1.out中。 【测试数据与运行结果】 测试数据:1,9,2,8,3,7,4,6,10,10 屏幕输出: 1 9 2 8 3 7 4 6 10 10 Sec_max: 9 【要求】 1.源程序文件名为myf12_1.c,输出结果文件名为myf12_1.out。 2.数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。 3.源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。 4.不要复制扩展名为obj和exe的文件到T盘上。 #include stdlib.h /*库函数exit(0)需要*/ #include stdio.h /*定义文件指针时需要的头文件*/ 函数编程,按【编程要求】 1. 函数编程,按【编程要求】 1.编写函数int findsecmax(int data[], int count) 要点:函数首部完整照抄。 int findsecmax(int data[], int count) { } int main() { FILE *fp; 所有数据类型的说明和定义 if((fp=fopen(t:\\myf2.out,w))==NULL) { printf(\nCant open the file!); exit (0);} 函数调用(具体问题具体分析) 结果输出 printf(\nMy number is:120992340\n); fprintf(fp,\nMy number is:1292340\n); fclose(fp); return 0; } 【参考源程序】 #include stdio.h #include stdlib.h int findsecmax(int data[], int count) { int i, j=0,secmax=0,max=data[0],b[10]; for(i=1;icount;i++) //查找整数数组的最大值max if(data[i]max) max=data[i]; for(i=0;icount;i++) //排除最大值后的整数数据放入临时数组b if(data[i]!=max) b[j++]=data[i]; for(i=0;ij;i++) //在临时数组b中找最大值,即是次大值 if(data[i]secmax) secmax=data[i]; return secmax; } int main() { FILE *fp; int i,a[20]={1,9,2,8,3,7,4,6,10,10},count=10,sec_max; if((fp=fopen(myf12_1.out,w))==NULL) { printf(\nCant open the file!); exit (0);} sec_max=findsecmax(a,count); for(i=0;icount;i++) printf((i+1)%5==0?%4d\n:%4d,a[i]),fprintf(fp,i%5==0?%4d\n:

文档评论(0)

139****4073 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档