C实训四答案.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文档。上传文档
查看更多
C实训四答案

实验四 教学重、难点:程序改错、编程 教学内容:练习四川省计算机等级考试C机试试题 教学过程: 一、评讲实验三课后作业 二、课堂模拟题 1、磁盘上有一个名为test32t6-1.c的C程序文件fun函数的功能是:将一个字符串中连续的数字串转换成一个整数,依次存放在数组a中,并统计该字符串中共有多少个整数。 在main函数中从test6-1.dat中读入一个字符串,调用fun函数,然后输出字符串中的所有整数。 例如,如读入的字符串为“wd123er34gdfk”,则输出的整数为123和34。 请改正程序中的错误,使它能得出正确结果。 注意:不得增行或删行,也不得更改程序结构。 源程序如下: # define N 80 # include stdio.h int fun(char p,int a[]) /* 改为:char *p */ { int i=0,j=0,flag=0,val=0,d; while((p+i)!=\0) /* 改为:*(p+i) */ { if(*(p+i)0*(p+i)9) /* 改为:|| */ { if(flag) a[j++]=val; flag=val=0; } else { d=*(p+i)-48; val=val+10+d; /* 改为:*10 */ flag=1; } i++; } if(*(p+i)==\0flag) a[j++]=val; return j; } void main() { char str[N]; int a[N],n,i; FILE *fp; if((fp=fopen(test6-1.dat,r))==NULL) { printf(Cannot open the file!\n); exit(0); } fgets(fp,str,N-1); /* 改为:str,N-1,fp */ fclose(fp); n=fun(str,a); for(i=0;in;i++) printf(%d\n,a[i]); printf(\nsum to %d data.\n,n); } 2、磁盘上有一个名为test33t1-1.c的C程序文件,其中函数fun的功能是:在字符串a中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。例如,调用fun函数之前字符串为:123aBYdZf,调用后字符串中的内容为:f123aBYdZ。 在main函数中,从文本文件test1-1.txt中读出字符串放入一维数组a中,调用fun函数构成新的数组,在主函数中输出处理后的结果。 请改正程序中的错误,使它能得出正确结果。 注意:不得增行或删行,也不得更改程序结构。 源程序如下: #includestdio.h #include stdio.h #includestring.h fun(char *p) { char max,*q; int i=0; max=p[i]; while(p[i]!=0) { if(maxp[i]) /* 改为:maxp[i] */ { max=p[i]; q=p+1; /* 改为:q=p+i */ } i++; } while(qp) { *q=*(q-1); q++; /* 改为:q-- */ } p[0]=max; } void main( ) { FILE *fp; char a[255]; int i=0; if((fp=fopen(test1-1.txt,r))==NULL) { printf(Cannot open the file.\n); exit(0); } while(1) { a[i]=fgetc(); /* 改为:fgets(fp) */ if(a[i]==EOF) break; i++; } a[i]=\0; /* 改为:\0 */ printf(The original string : ); puts(a); fun(a); printf(The string of changing is :: %s\n\n,a); fclose(fp); } 三、评讲课堂模

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档