教材练习题参考答案Word文件下载.docx

上传人:b****5 文档编号:18106973 上传时间:2022-12-13 格式:DOCX 页数:142 大小:56.50KB
下载 相关 举报
教材练习题参考答案Word文件下载.docx_第1页
第1页 / 共142页
教材练习题参考答案Word文件下载.docx_第2页
第2页 / 共142页
教材练习题参考答案Word文件下载.docx_第3页
第3页 / 共142页
教材练习题参考答案Word文件下载.docx_第4页
第4页 / 共142页
教材练习题参考答案Word文件下载.docx_第5页
第5页 / 共142页
点击查看更多>>
下载资源
资源描述

教材练习题参考答案Word文件下载.docx

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

教材练习题参考答案Word文件下载.docx

inta;

输入一个数:

cin>

>

a;

的十位数是:

a/10<

的个位数是:

a%10<

4、

inta,b,c,v,aver;

输入三个数:

cin>

a>

b>

c;

v=a*a+b*b+c*c;

aver=(a+b+c)/3;

三个数的平方和是:

v<

三个数的平均值是:

aver<

第二章

inta,b,c,t;

if(a>

b){t=a;

a=b;

b=t;

c){t=a;

a=c;

c=t;

if(b>

c){t=b;

b=c;

'

\t'

floatx,sum=0.0;

inti=1;

while(i<

=10)

{

x;

sum=sum+x;

i=i+1;

}

平均值是:

sum/10<

doubley=0.0,t=1.0;

intn;

n;

for(inti=1;

i<

=n;

i++)

{t=t*i;

y=y+t;

n="

n<

y="

y<

{intcount=0;

for(intn=200;

1000;

n++)

for(inti=2;

=n-1;

if(n%i==0)break;

if(i>

n-1)

cout<

count++;

\n'

count="

count<

5、

{inta,n,sum=0,c=0;

cout<

n=a;

do

sum+=n%10;

n/=10;

c++;

}while(n);

的所有数字之和为:

sum<

是"

位数"

<

6、

{inta,b,i;

for(i=1;

=999;

a=i%10;

b=i%100;

if(i==a*a||i==b*b)

7、

math.h>

{doublea,b,n;

for(n=10000;

=99999;

a=n*10+6;

b=6*+n;

if(fabs(b-4*a)<

1e-5){cout<

break;

第三章

//1.一维数组的输入和输出

#include<

inta[10],k=1;

for(inti=0;

10;

请输入第"

k++<

个元素a["

]\t"

a[i];

数组a为:

\n"

for(i=0,k=0;

k++;

a[i]<

if(k%5==0)cout<

//2.通过指针输出一维数组中值为奇数元素

inta[10]={3,4,5,8,9,11,14,16,19,21},*p=a,k=0;

数组a中的奇数有:

if(p[i]%2)

{

k++;

cout<

*(p+i)<

if(k%5==0)cout<

}

//3.产生一个随机的二维数组b[4][5],并按矩阵的方式输出

stdlib.h>

intb[4][5];

产生的数组为:

4;

for(intj=0;

j<

5;

j++)

b[i][j]=rand();

b[i][j]<

//4.二维数组的平方赋值

inta[3][4]={3,1,5,2,4,1,7,5,3,6,9,8},b[3][4];

3;

i++){

a[i][j]<

b[i][j]=a[i][j]*a[i][j];

数组b为:

for(i=0;

//5.小写字母改写为大写字母

charstr[100];

请输入一个含空格字符的字符串。

cin.getline(str,100);

str[i];

if(str[i]>

='

a'

str[i]<

z'

str[i]-='

-'

A'

转换后的字符串为:

str<

//6.通过指针将字符串逆序

string.h>

charstr[]="

abc321"

*s1=str,*s2,ch;

原字符串为:

s1<

s2=str;

//A

while(*s2)s2++;

s2--;

//B

while(s1<

s2){

ch=*s1;

*s1=*s2;

*s2=ch;

s1++;

s2--;

逆序后的字符串为:

/*其中A到B行可改为:

s2=str+strlen(str)-1;

*/

第四章习题答案

4-1

voidswap(int*p1,int*p2)

intt;

t=*p1;

*p1=*p2;

*p2=t;

inta,b,c;

int*s1,*s2,*s3;

输入三个数a,b,c:

s1=&

s2=&

b;

s3=&

b)swap(s1,s2);

c)swap(s1,s3);

c)swap(s2,s3);

输出排好序的三个数:

4-2

voidtrans(int,int);

intn,sel;

输入一个整数:

\n输出进制:

2,8,16,32(输入0时退出):

sel;

switch(sel)

case2:

trans(n,2);

case8:

trans(n,8);

case16:

trans(n,16);

case32:

trans(n,32);

case0:

default:

进制输入错误!

}while(sel!

=0);

voidtrans(intn,intbase)

intc;

if(n==0)return;

c=n%base;

trans(n/base,base);

if(c<

=9)

else

char(c-10+'

)<

4-3

iomanip.h>

voidfun(intb[],intn)

n-1;

i++)//若不是素数,将其值置为0

for(intj=i+1;

if(b[i]!

=0&

b[j]!

=0)

if(b[j]%b[i]==0)

b[j]=0;

inta[210]={0},n=0,k=5;

48;

i++)//给数组赋初值

a[i]=k,k+=2;

fun(a,48);

49;

if(a[i]!

{

cout<

setw(6)<

n++;

if(n%5==0)

}

4-4

intgcd(int,int);

intlcm(int,int);

intnum1,num2,den1,den2,a,l,g;

num1>

den1>

num2>

den2;

num1<

/"

den1<

"

num2<

den2<

求分母的最小公倍数:

l=lcm(den1,den2);

l<

两分数的和为:

a=(l/den1)*num1+(l/den2)*num2;

/'

求分子分母的最大公约数:

g=gcd(a,l);

g<

输出最简分数:

a/g<

l/g<

intgcd(inta,intb)

inti;

for(i=a;

i>

=1;

i--)

if(!

((a%i)||(b%i)))

break;

return(i);

intlcm(inta,intb)

i=b;

while(i%a)i+=b;

return(i);

4-5

doublesin(doublex,doubleeps)

doubleterm,sum,y;

intn=1;

//n=0

y=x*x;

term=x;

sum=0;

while(fabs(term)>

=eps)

sum+=term;

n++;

term=term*y/((2*n-2)*(2*n-1));

//((2*n)*(2*n-1))

term*=-1;

returnsum;

doublex,y;

输入x的值(角度):

while(x>

360)x-=360;

y=3.*x/180;

度数为:

x<

其sin值为:

sin(y,1e-6)<

4-6

floatsolut(floata,floatb,floatc,floatd)

floatx=1,x0,f,f1;

do{

x0=x;

f=((a*x0+b)*x0+c)*x0+d;

f1=(3*a*x0+2*b)*x0+c;

//对f函数的导数

x=x0-f/f1;

}while(fabs(x-x0)>

=1e-3);

returnx;

floata,b,c,d;

inputa,b,c,d:

c>

d;

x^3+"

x^2+"

x+"

d<

=0"

x="

solut(a,b,c,d)<

4-7

prime(intn)

{inti=2;

intflag=1;

for(;

n/2&

flag==1;

if(n%i==0)

flag=0;

return(flag);

{

intm,j,k,n=0;

for(m=6;

m<

=100;

m+=2)

{for(j=3;

=m/2;

j+=2)

if(prime(j))

{k=m-j;

if(prime(k))

setw(4)<

="

+"

k;

if(++n%5==0)cout<

if(m==j+k)break;

}}

4-8

voidf1(intn)

intj=n%10;

if(n/10)f1(n/10);

voidf2(intn)

n%10<

if(n/10)f2(n/10);

intx;

输入一个整数:

输入的整数为:

该整数的反序输出为:

f2(x);

该整数的正序输出为:

f1(x);

《解析与实训》习题及实验

参考解答

一、选择题

1.A2.D3.A4.B5.A6.D7.D8.C9.D10.C

11.D12.C13.B14.A15.C16.B17.A18.B19.B20.D

21.A22.D23.B24.B25.B26.A27.C28.B29.D30.C31.A

注:

第八题选项印刷错,应为:

A.c1="

2"

B.c1=’\x255’C.c1=’\255’D.c1="

A"

二、填空题

1.#include<

(或#include"

iostream.h"

2.编译连接

3..cpp.obj.exe

4.十

5.setw()iomanip.h

6.abc

7.ab(注:

输出第二项是空格)

8.10

9.1

10.字符

11.八十六

12.4.0

13.;

(分号)

14.10570

15.60

16.8

17.7

18.15

19.int(x)或(int)x

三、编程题

1.

#definePI3.

floatr,h,area;

输入圆柱体的半径和高(r,h):

r>

h;

area=PI*r*r*h;

圆柱体的体积为:

area<

2.

intx,a,b,c,m,n;

输入一个三位整数x:

a=x/100;

b=x/10%10;

c=x%10;

m=c*100+b*10+a;

n=m-x;

反序组成的新3位整数为:

新3位整数减去原3位整数的值为:

四、实验

1.

cout<

中华人民共和国"

endl;

#include<

voidmain(void)

{inta,b,c;

cin>

c=a+b;

c="

}

3.结果:

10101

(1)结果为:

101616810

(2)换成dec结果为:

a10108a

换成oec结果为:

1220201012

4.

{inta,b,c,s,area;

输入三角形三边长a,b,c:

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

三角形面积为:

1.B2.A3.A4.C5.B6.C7.B8.B9.B10.D

11.B12.D13.D14.D15.A16.D17.C18.C19.A20.C

21.B22.A23.D24.A25.B26.B27.D28.C29.B30.D

31.B32.A33.C34.C

1.选择结构循环结构

2.if

3.breakcontinue

4.循环语句switch语句

5.循环语句

6.11结束循环体的语句

7.60,30

8.d=20

10.10

11.y=0y=5y=30error

12.117

13.

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

当前位置:首页 > 高等教育 > 艺术

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

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