- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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;
您可能关注的文档
- 外贸短语.doc
- 2011年下期岳阳市第四中学九年级第三次月考数学试题.doc
- 12年五年级暑假毕业试卷.doc
- 081119富力摩根中推介会修改.ppt
- LLL测试30--40.doc
- 2009年检修区域外协安全协议书.doc
- 第十七届大学生文化艺术节策划书.doc
- 15《落花生》导学案.doc
- 儿童学画.doc
- 2012安装施工计划.doc
- 开放大学宪法学期末考试题和答案.docx
- 再生塑料循环利用基地建设项目技术方案.docx
- 开放大学基础写作形考任务试题和答案.docx
- 开放大学电大专科《个人与团队管理》机考2套标准真题题库及答案3.docx
- 开放大学《社会调查研究与方法》网络核心课形考作业试题及答案.docx
- 开采爆破安全管理人员)复审考试及考试题库及答案参考29.docx
- 开放大学电大本科《环境水利学》2025-2025期末试题及答案(试卷.docx
- 建造师之二建机电工程实务高分通关题型题库附解析答案.docx
- 开放大学电大本科《国际经济法》期末试题及答案模板.docx
- 开放大学一网一平台电大《刑事诉讼法学》形考任务4网考题库及答案.docx
原创力文档


文档评论(0)