2004年秋上机试卷08.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文档。上传文档
查看更多
2004年秋上机试卷08

2004年秋上机试卷08 一、改错题: 下列程序的功能是:生成并显示一个螺旋方阵。所谓螺旋方阵,如右图所示,起始数置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。 提示:若元素a[i][j]在主对角线上,则i等于j;若元素a[i][j]在辅对角线上,则i+j等于n-1。 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 含有错误的源程序如下: #includeiostream.h #includeiomanip.h void create(int *a,int num,int n) { int endnum=n*n+num-1; for(int i=0,j=0;numendnum;i++,j++) { do{ a[i][j++]=num++; }while(i+j!=n-1); do{ a[i++][j]=num++; }while(i!=j); do{ a[i][j--]=num++; }while(i+j!=n-1); do{ a[--i][j]=num++; }while(i!=j); } if(n%2==0) a[i][j]=num; } void main() { int a[20][20]; int startnum,n; coutPlease input startnum and n:; cinstartnumn; create(a,startnum,n); for(i=0;in;i++) { for(int j=0;jn;j++) coutsetw(8)a[i][j]; coutendl; } } 二、编程题: 建立一个类STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。如将字符串“abcde”交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。 具体要求如下: 私有数据成员。 char str1[80]:存放被插入的字符串。 char str2[40]:存放待插入的字符串。 公有成员函数。 STRING(char *s1,char*s2):构造函数,用s1和s2初始化str1和str2。 void process():将str2中的字符串插入到str1中。 void print():输出插入后的字符串。 在主函数中对该类进行测试。用两个字符串“abcde”和“ABCDE”初始化一个STRING类的对象test,通过test调用成员函数交叉插入字符串,然后输出结果。 答案: 一、 #includeiostream.h #includeiomanip.h void create(int *a,int num,int n) //int a[][20]或int(*a)[20] { int endnum=n*n+num-1; for(int i=0,j=0;numendnum;i++,j++) { do{ a[i][j++]=num++; }while(i+j!=n-1); do{ a[i++][j]=num++; }while(i!=j); do{ a[i][j--]=num++; }while(i+j!=n-1); do{ a[--i][j]=num++; //a[i--][j] }while(i!=j); } if(n%2==0) //n%2!=0 a[i][j]=num; } void main() { int a[20][20]; int startnum,n; coutPlease input startnum and n:; cinstartnumn; create(a,startnum,n); for(i=0;in;i++) //int i=0; { for(int j=0;jn;j++) coutsetw(8)a[i][j]; coutendl;

文档评论(0)

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

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

1亿VIP精品文档

相关文档