紫金15章习题参考答案Word文件下载.docx

上传人:b****6 文档编号:17210434 上传时间:2022-11-28 格式:DOCX 页数:17 大小:19.10KB
下载 相关 举报
紫金15章习题参考答案Word文件下载.docx_第1页
第1页 / 共17页
紫金15章习题参考答案Word文件下载.docx_第2页
第2页 / 共17页
紫金15章习题参考答案Word文件下载.docx_第3页
第3页 / 共17页
紫金15章习题参考答案Word文件下载.docx_第4页
第4页 / 共17页
紫金15章习题参考答案Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

紫金15章习题参考答案Word文件下载.docx

《紫金15章习题参考答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《紫金15章习题参考答案Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

紫金15章习题参考答案Word文件下载.docx

"

cin>

b;

//交换两个整数

a=b^a;

b=a^b;

交换结果:

<

a<

'

'

return0;

第二种方法:

a=a+b;

b=a-b;

a=a-b;

(2)

charc1='

O'

charc2='

l'

charc3='

y'

charc4='

m'

charc5='

p'

charc6='

i'

charc7='

c'

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

c6+=4;

c7+=4;

c1<

c2<

c3<

c4<

c5<

c6<

c7;

constfloatc=8.1456E-6;

constfloatPI=3.1415;

floatlength,z;

输入导线长度:

length;

输入导线直径:

z;

floatarea=PI*z/2*z/2;

floatr=c*length/area;

导线的电阻为:

r;

第3章习题参考答案

(1)A

(2)A(3)B(4)B(5)B、A

(6)C(7)C(8)C(9)C(10)D

(11)D(12)C(13)C(14)D、A(15)A

(1)【1】c+=5【2】c-=21

(2)【3】x:

y【4】u:

z

(3)【5】

(x>

2)&

&

(x<

=10)【6】

(x>

-1)&

=2)【7】y=-1

constdoublef=0.2;

intmain(void){

floatlen,width,height,wei,fee;

//长度,重量和费用

输入邮寄物品的长宽高(单位:

米):

len>

width>

height;

输入物品的重量(单位:

千克):

wei;

if(len>

1||width>

1||height>

1||wei>

30){

cout<

本包裹不可以邮寄"

endl;

}

else{

if(wei<

10)

fee=f+0.8*wei;

elseif((wei>

10)&

(wei<

=20))

fee=f+0.75*wei;

else

fee=f+0.70*wei;

邮寄费用:

fee;

intyear;

输入年份:

year;

boolisleap=((year%400==0)||((year%4==0)&

(year%100!

=0)));

//闰年

if(isleap)

cout<

year<

为闰年"

else

为平年"

#include<

cmath>

doubleitem=1.0,sum=0.0;

inti=1,sign=1;

while(fabs(item)>

=1e-2)

{

sum+=item;

sign*=-1;

i+=2;

item=sign/(double)i;

sum*4<

chari,j,k;

/*i是a的对手,j是b的对手,k是c的对手*/

for(i='

x'

i<

='

z'

i++)//for1

for(j='

j<

j++){//for2

if(i!

=j)//if1

for(k='

k<

k++){//for3

if(i!

=k&

j!

=k){//if2

if(i!

k!

)//if3

cout<

orderisa--"

i<

b--"

j<

c--"

k;

}//if2

}//for3

}//for2

第4章习题参考答案

(1)B

(2)B(3)C(4)A(5)B

(6)D(7)D(8)C(9)A(10)B

(1)【1】11

(2)【2】-17

(3)【3】1438

(4)【4】-1

(5)【5】3

intMaxY(inta,intb){

intc;

do{

c=a-b*(a/b);

a=b;

b=c;

}while(c!

=0);

returna;

b<

的最大公约数为:

MaxY(a,b);

intdigit(intn,intk){

for(inti=1;

i<

k;

i++)

n=n/10;

returnn%10;

intn,k;

输入n,k:

n>

n<

的第"

k<

位数字为:

digit(n,k);

intdigitCount(inti){

intcount=0;

if(i<

0)i=-i;

//变成绝对值,以能够处理负数

do{//整数至少有一位,整数0有1位。

i/=10;

count++;

}while(i>

0);

returncount;

intdigitCount(longi){

do{

intdigitCount(floati){

while(i>

=1){//只要有整数部分,该数字肯定>

=1

intdigitCount(doublei){

=1){

inti;

longl;

doubled;

floatf;

请输入整数,长整数,双精度浮点数,单精度浮点数:

i>

l>

d>

f;

整数位数有"

digitCount(i)<

位"

l<

digitCount(l)<

d<

digitCount(d)<

f<

digitCount(f)<

(4)

iomanip>

voidhanoi(int,char,char,char);

voidmove(char,char);

intmain()

{

intn;

setw(50)<

输入盘子数:

cin>

n;

hanoi(n,'

A'

B'

C'

);

voidhanoi(intn,chara,charb,charc)

if(n==1)move(a,c);

{

hanoi(n-1,a,c,b);

move(a,c);

hanoi(n-1,b,a,c);

voidmove(charx,chary)

x<

移动到"

y<

\t"

(5)

#defineUPCASE

charc;

#ifdefUPCASE

if(c>

a'

&

c<

){//小写字母

c=c+'

-'

//转换为大写字母

#else

Z'

){//大写字母

#endif

第5章习题参考答案

(1)C

(2)B(3)C(4)B(5)D

(6)C(7)C(8)A、C、D(9)D(10)A

(11)D(12)B(13)D(14)B(15)B

【1】123【2】321【3】123

【4】200,100

【5】s*next;

(4)(第一行为地址,每次运行可能不同)【6】

0013FF7C0013FF7C0013FF70

151510

【7】p1++,q1++【8】*(p+i)【9】*(p+i)【10】str

intbisearch(chars[],inti,intj)

{while(i<

j)

{intk=(i+j)/2;

if('

==s[k])returnk;

elseif('

s[k])j=k-1;

elsei=k+1;

return-1;

}

{chars[100],c;

inti=0,j;

while(c!

#'

{cin>

c;

s[i++]=c;

j=bisearch(s,0,i-1);

if(j==-1)cout<

**"

elsecout<

s["

]"

voidinsert()

{charstr[100];

inti=0;

plealeinputastring:

str[i++]=c;

for(intj=0;

i-1;

j++)

str[j]<

'

insert();

boolinsert(Node*&

h,inta,intpos){

Node*q=newNode(a);

if(pos==0){

q->

next=h;

h=q;

returntrue;

else{

Node*p=h;

inti=1;

while(p!

=NULL&

pos){

p=p->

next;

i++;

}

if(p!

=NULL){

q->

next=p->

p->

next=q;

returntrue;

else

returnfalse;

boolremove(Node*&

h,int&

a,intpos)

{

Node*p=h,*q=null;

inti=1;

while(p!

pos)

{q=p;

p=p->

i++;

if(p!

=NULL)

{a=p->

id;

if(q!

h=p->

deletep;

returnfalse;

voidinsert_sort(Node*&

h)

if(h==NULL)return;

Node*q=h->

h->

next=NULL;

while(q!

=NULL)

{Node*p=h,*p1=NULL,*q1=q;

q=q->

while(p!

=NULL&

q1->

id>

p->

id)

{

p1=p;

p=p->

if(p!

{if(p1==NULL)

h=q1;

else

p1->

next=q1;

q1->

next=p;

{p1->

(6)

boola[8];

//a[i]表示第i行是否可以放皇后

boolb[15];

//b[k]表示"

从左下往右上"

('

/'

)的第k个对角线是否可以放皇后

boolc[15];

//c[k]表示"

从左上往右下"

\'

//与棋盘第i行、第j列的格子所对应的行和对角线为:

a[i],b[i+j],c[j-i+7]

intx[8];

//x[j]表示第j列上皇后的位置(所在的行)。

booltry_by_col(intj)

{for(inti=0;

8;

i++)//选择第j列中可放皇后的行,然后递归选择第j+1列可放皇后的行...。

{if(a[i]&

b[i+j]&

c[j-i+7])//第j列第i行的位置所在的行以及两个对角线上无皇后。

x[j]=i;

//设置第j列皇后的位置。

a[i]=b[i+j]=c[j-i+7]=false;

//把第j列皇后所在的行以及两个对角线设为已占用。

if(j==7||try_by_col(j+1))//是最后一列或第j+1列皇后位置选择成功。

returntrue;

else//第j+1列皇后位置选择失败。

a[i]=b[i+j]=c[j-i+7]=true;

//取消第j列皇后位置,准备选择下一个位置。

returnfalse;

{inti,j,k;

//初始化:

所有行以及对角线可放皇后。

for(i=0;

a[i]=true;

for(k=0;

k<

15;

k++)

b[k]=true;

c[k]=true;

if(try_by_col(0))//从第0列开始尝试放皇后的位置。

{//x[0],x[1],...,x[7]分别为第一列、第二列、...、第七列上皇后的位置(所在的行)

for(j=0;

j<

j++)//按列输出皇后

for(i=0;

x[j];

i++)cout<

|_"

cout<

|Q|"

for(i=x[j]+1;

_|"

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

当前位置:首页 > 考试认证 > 从业资格考试

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

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