




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计实验十二实验目的 江苏省等级考试的上机考与全国等级考试的上机考形式完全不同,江苏省等考上机只考两题,一题是改错题,但并不提示错误的位置,需要自已动脑。改错题通常有34个错误。错误分为两大类,一类是语法出错,这类错误比较查错和容易修改,即修改通过编译程序提示的错误。另一类是结果出错,即程序的算法出错,这类错误需认真审题。另一题是编程题。这类题需要整体编程。要求必须常用算法和函数参数和传递。编程题必须掌握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 37 4 6 10 10Sec_max: 9【要求】1.源程序文件名为myf12_1.c,输出结果文件名为myf12_1.out。2.数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。3.源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4.不要复制扩展名为obj和exe的文件到T盘上。 #include /*库函数exit(0)需要*/#include /*定义文件指针时需要的头文件*/函数编程,按【编程要求】 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:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); return 0;【参考源程序】#include #include int findsecmax(int data, int count) int i, j=0,secmax=0,max=data0,b10; for(i=1;imax) max=datai;for(i=0;icount;i+) /排除最大值后的整数数据放入临时数组b if(datai!=max) bj+=datai;for(i=0;isecmax) secmax=datai; return secmax;int main() FILE *fp; int i,a20=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?%4dn:%4d,ai),fprintf(fp,i%5=0?%4dn:%4d,ai);printf(nsec_max:%4d,sec_max),fprintf(fp, nsec_max:%4d,sec_max);printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); return 0; 【要点】:1、 蓝色的内容是必需的部分,并且常将printf函数与 fprintf函数写在一起,用逗号分隔,这样程序不易出错;2、 本题要求数据初始化;3、 输出格式必须按要求输出;4、 编程时必须按照题中要求完成,不得擅自想当然,除非你不想得分。实验内容一、 程序编写题【12.2程序功能】将一个44二维数组中全部元素逆时针旋转90。【编程要求】1编写函数int rotate (int a44, int b44),将数组a中元素逆时针旋转90后的元素保存在数组b中,计算b数组主对角线上全部元素之和作为函数的返回值。2编写主函数main,从键盘上读入16个数据放入一个二维数组中,调用rotate函数,将旋转后的二维数组全部元素按行写入到结果文件myf2.out中,最后将旋转后数组中主对角线上全部元素之和写入到结果文件myf12_2.out中。并将考生本人的准考证号字符串输出到文件myf12_2.out中。【测试数据】使用以下测试数据: 旋转前: 旋转后:11 12 13 14 14 24 34 44 21 22 23 24 13 23 33 4331 32 33 34 12 22 32 4241 42 43 44 11 21 31 41 屏幕输出:14 24 34 44 13 23 33 43 12 22 32 42 11 21 31 41sum=110My number is:310292340二、程序修改题 【12.3全国等考改错题】给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个 字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。 例如,若输入:I am a student to take the examination., 则应输出:I Am A Student To Take The Examination.。 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!程序文件名 myf12_3.c给定源程序: #include #include /*found*/ include /*found*/ void upfst ( char str) int k=0,i; for (i=0; stri; i+ ) if ( k ) if ( stri = ) k = 0; else if(stri!= ) k = 1; /*found*/ stri=toupper(str); main( ) char chrstr81; printf( nPlease enter an English text line: ); gets( chrstr ); printf( nnBefore changing:n %s, chrstr ); upfst( chrstr ); printf( nAfter changing:n %sn, chrstr ); 【12.4江苏省等考改错题】【程序功能】 子串查找并替换。函数substition的功能是在s指向的字符串(简称s串)中查找t指向的子串(简称t串),并用g指向的字符串(简称g串)替换s串中所有的t串。【测试数据与运行结果】测试数据: s: aaacdaaaaaaaefaaaghaa t: aaa g: 22屏幕输出: 22cd2222aef22ghaa 【含有错误的源程序】以下源程序文件名为myf12_4.c。#include #include #include void substitution(char s,char t,char g); int main() char s80= aaacdaaaaaaaefaaaghaa,t2=aaa,g=22; puts(s); substitution(s,t,g); puts(s); getch();void substitution(char s,char t,char g); int i,j,k; char temp80; for(i=0;si=0;i+) for(j=i,k=0;sj=tk&tk!=0;j+,k+); if(tk=0) temp=s+j; strcpy(s+i,g); strcat(s,temp); i+=strlen(g)-1; 【要求】1打开T盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,可以修改语句中的一部分内容(注意:只能增加说明语句或头文件,不得更改程序结构),调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南充市2025四川南充市妇幼保健生育服务中心引进高层次人才考核招聘7人笔试历年参考题库附带答案详解
- 2025河南新乡某国有企业招聘20人笔试参考题库附带答案详解
- 2025广东龙川县国资系统企业岗位竞聘12人笔试参考题库附带答案详解
- 2025年融通科研院社会招聘笔试参考题库附带答案详解
- 2025年甘肃兰州新区金融投资控股集团有限公司招聘40人笔试参考题库附带答案详解
- 2025四川华丰科技股份有限公司招聘客服经理等岗位6人笔试参考题库附带答案详解
- 2025上半年云南日报报业集团招聘34人笔试参考题库附带答案详解
- 危险行业安全培训内容课件
- 地质学重点讲解课件
- 地质勘察设计院安全培训课件
- 中通规章管理制度
- 茶山管理协议书
- 代办土地证协议书
- 创意美术课程教学大纲
- 2025年生物性污染对人体健康的危害与生物安全防控措施
- 现代文献检索与利用3-文献检索技术
- GB/T 45542-2025工业锅炉综合能效评价技术规范
- DB11 396-2006 地理标志产品 平谷大桃
- 2025年小学数学新教材培训
- 2025胃癌诊疗规范
- 2025届江苏省苏锡常镇四市高三下学期教学情况调(一)(一模)英语+答案
评论
0/150
提交评论