春阅读程序 完善程序题Word格式文档下载.docx

上传人:b****6 文档编号:21106228 上传时间:2023-01-27 格式:DOCX 页数:10 大小:16.97KB
下载 相关 举报
春阅读程序 完善程序题Word格式文档下载.docx_第1页
第1页 / 共10页
春阅读程序 完善程序题Word格式文档下载.docx_第2页
第2页 / 共10页
春阅读程序 完善程序题Word格式文档下载.docx_第3页
第3页 / 共10页
春阅读程序 完善程序题Word格式文档下载.docx_第4页
第4页 / 共10页
春阅读程序 完善程序题Word格式文档下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

春阅读程序 完善程序题Word格式文档下载.docx

《春阅读程序 完善程序题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《春阅读程序 完善程序题Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。

春阅读程序 完善程序题Word格式文档下载.docx

j<

10;

j++){

if(j>

5){i+=2;

break;

if(j%2!

=0){

j+=2;

continue;

}

cout<

}

执行程序后输出的第一行是(8),第二行是(9)。

7.【程序】

#include<

intf(int&

x,int&

y)

x+=y;

y+=x;

return(x>

y?

x:

y);

intx=20,y=30,z;

z=f(x,y);

x<

y<

z<

endl;

z=f(y,x);

执行程序后输出的第一行是(10),第二行是(11)。

8.【程序】

intf1(intn)

if(n==1)return1;

elsereturnn*n+f1(n-1);

intf2(intn)

intmul=1;

if(n==1)mul=1;

elsemul=n*f2(n-1);

returnmul;

f1(3)<

f2(4)<

执行程序后输出的第一行是(12),第二行是(13)。

9.【程序】

(3分)

char*str(char*p1,char*p2)

char*p=p1;

while(*p)p++;

*p++='

'

while(*p++=*p2++);

returnp1;

chars1[200]={"

NanJing"

};

chars2[200]={"

is"

chars3[]={"

good"

str(s2,s3)<

str(s1,s2)<

s1<

!

s2<

s3<

执行程序后输出的第一行是(14),第二行是(15),第三行是(16)。

10.【程序】

classA{

intx,y;

public:

A(inta,intb){x=a;

y=b;

virtualvoidfun1(){cout<

"

x+y="

x+y<

\n"

classB:

publicA{

intm,n;

B(inta,intb,intc,intd):

A(c,d){m=a;

n=b;

voidfun1(){cout<

m*n="

m*n<

voidprint(A&

ra){ra.fun1();

voidmain()

Aa(10,20),*pa;

B*p;

p=newB(20,30,40,50);

p->

fun1();

pa=&

pa->

pa=p;

print(a);

deletep;

执行程序后输出的第二行是(17),第三行是(18)。

●完善程序题(共12分)

11.设有一条环形铁路,共有n个车站。

现有检查组去检查各个车站的服务质量,从第i个车站开始检查,每隔m(已检查过的车站不计算在内)个车站作为下一个要检查的车站序号,直到所有车站都检查完为止。

下列程序的功能是:

按以上要求计算出一次检查的车站序号,并输出计算的序号序列和检查循环的圈数。

例如:

共有20个车站,车站的序号依次为:

1,2,3~20;

若要求从第3个车站开始检查,间隔5个车站,则检查车站的顺序为:

3->

8->

13->

18->

4->

10->

16->

2->

11->

19->

7->

17->

9->

1->

15->

14->

20->

6->

12->

5。

函数check()中的count记录检查完所有车站时要绕环形铁路的圈数。

【程序】

(4分)

#defineN100

intcheck(intx[],inty[],intn,inti,intm)

intk=0,k1,count=0;

x[0]=n;

for(intj=1;

n;

j++)

x[j]=j;

y[k++]=i;

x[i]=-1;

j=i;

while((19))

{

k1=0;

while(k1<

m){

j++;

if(j>

=n){

count++;

j=(20);

}

if(x[j]!

=-1)k1++;

y[k++]=(21);

x[j]=-1;

returncount;

intA[N],B[N],n,m,i,j,k=0,num;

输入车站个数n,第一个开始检查的车站号i,间隔的车站数m:

cin>

>

n>

i>

m;

num=(22);

检查顺序:

for(j=0;

n-1;

B[j]<

->

全部检查完各个车站,共要循环的圈数为:

num<

12.以下程序的功能是求满足以下条件的所有三位数:

(1)该三位数是某一个二位数的平方;

(2)该三位数的个位数、十位数和百位数各不相同,即1到9这九个数字在该数中至多只允许出现一次。

要求每行输出五个数。

例如,满足以上条件的所有三位数有13个,分别为:

169196256289324

361529576625729

784841961

intf(inty)

inti,j,k;

i=y%10;

j=(23);

k=y/100;

if((24))

return0;

for(i=11;

31;

i++)

if((25))return1;

return0;

intx[22]={0},count=0;

for(inti=102;

987;

i++){

if(f(i)){

(26);

count++;

for(i=0;

count;

x[i]<

if((i+1)%5==0)cout<

共有:

count<

个三位数满足条件.\n"

13.在以下程序中,函数creat()根据键盘一次输入的整数建立一条单向无序链表,链表上的每一个结点包含一个整数;

函数sort()根据链表结点的数据按从小到大的顺序将链表调整为一条有序链表;

函数print()将链表上的整数依次输出;

函数del()将链表删除。

排序算法提示:

(1)初始时,使p指向链表的首结点;

(2)从p之后的所有结点中找出data值最小的结点;

(3)让p1指向该结点,并将p指向结点的data值与p1指向结点的data值进行交换,让p指向下一个结点;

(4)重复步骤

(2)(3),直至p指向链表的最后一个结点为止。

structNode{

intdata;

Node*next;

Node*sort(Node*head)

Node*p=head,*p1,*p2;

if(p==NULL)returnhead;

while(p->

next!

=NULL){

p1=p;

(27);

while(p2!

if(p2->

data<

p1->

data)(28);

p2=p2->

next;

if(p!

=p1){

intt;

t=p->

data;

p->

data=p1->

p1->

data=t;

p=p->

returnhead;

Node*creat(void)

Node*h=NULL,*p,*p1;

intdata=1;

while(data){

输入一个整数,0表示输入结束:

cin>

if(data){

p=newNode;

data=data;

next=NULL;

if(h==NULL)

h=p1=p;

else{

(29);

p1=p;

returnh;

voidprint(Node*p)

while(p){

p->

voiddel(Node*h)

Node*p;

while(h){

p=h;

(30);

deletep;

Node*head;

head=creat();

链表上的数据为:

print(head);

head=sort(head);

排序后链表上的数据为:

del(head);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1