实验五参考答案.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文档。上传文档
查看更多
函数实验题 改错题: 【程序功能】函数HolandFlag的功能是:已知在flag指向的有n个元素的字符数组中,每个元素的值是字符‘R’、‘W’或‘B’中的一个。函数按照‘R’、‘W’、‘B’的顺序重新排列flag数组中所有元素的值。 算法提示: 若flag数组初始值为RBWBRWRBW 则在flag数组中出现数据交换的步骤与效果为: 第1步:flag[1]与flag[8]交换后数据为 RWWBRWRBB 第2步:flag[3]与flag[6]交换后数据为 RWWRRWBBB 第3步:flag[1]与flag[4]交换后数据为 RRWRWWBBB 第4步:flag[2]与flag[3]交换后数据为 RRRWWWBBB 【测试数据与运行结果】 测试数据:RBWBRWRBW 运行结果:RRRWWWBBB 【含有错误的源程序如下】: #includestdio.h #includestring.h #denfine 10 N /*改为#define N 10 */ void HolandFlag(char flag[],int num) {int i,j,k,m; char c,color[3]={B,W,R}; /*改为color[3]={B,W,R}*/ m=num; for(k=0;k2;k++) for(i=0;im;i++) if(flag[i]==color[k]) {for(j=m-1;ji;j--) if(flag[j]==color[k]) /*改为if(flag[j]!=color[k])*/ {c=flag[i];flag[i]=flag[j];flag[j]=c; m--; break; } if(i==j) m=i; } } void main() {char flag[N]=RBWBRWRBW; int i,k,n=strlen(flag); HolandFlag(flag[N],n); /*改为HolandFlag(flag,n)*/ for(i=0;in;i++) printf(%c,flag[i]); } 【要求】 1、将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。 2、改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。 二、编程题: 1、【程序功能】 用一组整数验证命题:“任意一个百位数字与个位数字不同的三位正整数n1在经过以下操作后一定会变换到1089:将n1的百位数字与个位数字交换得到n2;求n1与n2差的绝对值得到n3;将n3的百位数字与个位数字交换得到n4;求n3与n4的和得到n5,n5一定是1089。若n1、n3是一位数或两位数,则在高位补0使其成为三位数。” 例如:n1:123,n2:321,n3:198(321-123),n4:891,n5:1089(198+891) 【编程要求】 (1)编写函数int fun(int a[],int b[],int n),其功能是用a指向数组的前n个整数验证上述命题,将所有符合命题的整数所在数组元素的下标依次保存到b指向的数组中,函数返回b数组中数据的个数。 (2)编写main函数,声明a数组并用测试数据初始化,用a数组作为实参调用fun函数,将a数组中所有符合命题的整数输出到屏幕及结果文件myf2.out中。最后将本人的学号字符串也保存到结果文件myf2.out中。 【测试数据与运行结果】 测试数据:123 765 1 45 121 1345 131 67 696 3589 运行结果:123 765 1 45 67 my number is:本人学号字符串 【要求】 (1).将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。 (2).数据文件的打开、使用和关闭等操作均用C语言标准库中缓冲文件系统的文件操作函数实现。即①#include “stdio.h” ②FILE *fp; ③fp=fopen(“E:\\myf2.out”,”w”); ④fprintf(fp , ”……” , ……); ⑤fclose(fp); (3).源程序文件和运行结果文件均需保存在考试盘的根目录下(平时练习时保存在E盘,考试时保存在T盘),供阅卷用。 (4).不要将myf2.obj和myf2.exe保存到考试盘上。 【参考程序】 #includestdio.h #includema

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档