习题4答案.docx

上传人:b****3 文档编号:12916757 上传时间:2023-04-22 格式:DOCX 页数:18 大小:17.16KB
下载 相关 举报
习题4答案.docx_第1页
第1页 / 共18页
习题4答案.docx_第2页
第2页 / 共18页
习题4答案.docx_第3页
第3页 / 共18页
习题4答案.docx_第4页
第4页 / 共18页
习题4答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

习题4答案.docx

《习题4答案.docx》由会员分享,可在线阅读,更多相关《习题4答案.docx(18页珍藏版)》请在冰豆网上搜索。

习题4答案.docx

习题4答案

习题4

一.选择题

1.B2.A3.C4.A5、A6.C7.B

8.A9.B10.D11.B12.D13.A14.D

二、填空题

1.下列程序是将一个正整数的每一位按其逆序输出。

#include

voidmain()

{longintn,d;

cin>>n;

do{

d=____n%10_____________;

____n=n/10________________;

cout<

}

while(n>0);

cout<

}

2.sum=0i<1000i%7==0&&i%3==0

3.a++b<135*a+4*b+2*c==50

三.分析下列程序的输出结果。

1.

输出结果:

3

6

2.

输出结果:

6,7

3.

输出结果:

19

第一个case3:

改为case2:

4.

输出结果:

8

6

5.

输出结果:

55

四.用自然语言设计算法。

1.

算法:

(1)输入一个整数year;

(2)若year被400整除或若year被4整除但若year不被100整除,则year是闰年,否则是平年。

2.

算法:

(1)输入两个数a和b,输入运算符op;

(2)若op为“+”,则输出a+b;

(3)若op为“-”,则输出a-b;

(4)若op为“/”,则若b不为0,则输出a/b;否则输出“除数为0”;

(5)若op为“%”,则输出a%b;

3.

算法:

(1)设i=1

(2)若i大于999,则转(9)

(3)a=i/100;

(4)b=i/10%10

(5)c=i%100

(6)若a+b+c等于i,则输出i。

(7)i=i+1

(8)转

(2)

(9)程序结束

4.

算法:

(1)设i=2

(2)若i大于1000,则转(12)

(3)s=0;

(4)j=1

(5)若j大于等于i,则转(9)

(6)若i%j等于0,则s=s+i。

(7)j=j+1

(8)转(5)

(9)若s等于i,则输出i

(10)i=i+1

(11)转

(2)

(12)程序结束

 

五.编写程序。

1.

#include

voidmain()

{

inta,b,t;

cin>>a>>b;

t=a;a=b;b=t;

cout<

}

2.

#include

voidmain()

{

inta;

cin>>a;

cout<<"个位数:

"<

cout<<"十位数:

"<

cout<<"百位数:

"<

}

3.

#include

voidmain()

{

intyear;

cin>>year;

if(year%400==0||year%4==0&&year%100!

=0)

cout<<"闰年"<

else

cout<<"平年"<

}

4.

#include

voidmain()

{

inta,b,c,min;

cin>>a>>b>>c;

if(a>b)min=b;

elsemin=a;

if(min>c)min=c;

cout<<"最小数是:

"<

}

 

5.

#include

voidmain()

{

chara,b,c,m;

cin>>a>>b>>c;

if(a>b){m=a;a=b;b=m;}

if(b>c){m=b;b=c;c=m;}

if(a>b){m=a;a=b;b=m;}

cout<

}

6.

#include

#include

voidmain()

{

floata,b,c;

cin>>a>>b>>c;

if(a==0)

if(c!

=0)cout<<"解是:

"<

elsecout<<"无解"<

else

{floatd;

d=b*b-4*a*c;

if(d>=0){d=(float)sqrt(d);

cout<<"两个解是:

"<<(b+d)/(2*a)<<','<<(b-d)/(2*a)<

}

else{

d=(float)sqrt(-d);

cout<<"两个复根解是:

"<

cout<

cout<

}

}

}

7.

#include

voidmain()

{

inty,m;

cout<<"输入年,月:

";

cin>>y>>m;

switch(m)

{case1:

case3:

case5:

case7:

case8:

case10:

case12:

cout<<"该月有"<<31<<"天"<

case2:

if(y%400==0||y%4==0&&y%100!

=0)

cout<<"该月有"<<29<<"天"<

else

cout<<"该月有"<<28<<"天"<

case4:

case6:

case9:

case11:

cout<<"该月有"<<30<<"天"<

default:

cout<<"没有这个月.";

}

}

8.

#include

voidmain()

{

floata,b;charop;

cout<<"输入两个数:

";

cin>>a>>b;

cout<<"输入运算符:

";

cin>>op;

switch(op)

{

case'+':

cout<<"两个数的和:

"<

case'-':

cout<<"两个数的差:

"<

case'*':

cout<<"两个数的乘:

"<

case'/':

if(b!

=0)cout<<"两个数的除:

"<

elsecout<<"除数为0!

"<

default:

cout<<"该运算符不是四则运算符!

"<

}

}

9.

方法一:

#include

voidmain()

{

charc;

cin>>c;

if(c>='A'&&c<='Z')cout<

else

if(c>='a'&&c<='z')cout<

else

if(c>='0'&&c<='9')cout<

elsecout<

}

方法二:

#include

voidmain()

{

charc;intm;

cin>>c;

if(c>='A'&&c<='Z')m=1;

else

if(c>='a'&&c<='z')m=2;

else

if(c>='0'&&c<='9')m=3;

elsem=4;

switch(m)

{

case1:

cout<

case2:

cout<

case3:

cout<

default:

cout<

}

}

10.

#include

voidmain()

{

floats,p,w,f;intd;

cout<<"输入距离:

"<

cin>>s;

cout<<"输入重量:

"<

cin>>w;

cout<<"输入基本运费:

"<

cin>>p;

switch((int)s/250)

{

case0:

d=0;break;

case1:

d=0.05;break;

case2:

d=0.10;break;

default:

d=0.15;

}

f=p*w*s*(1-d);

cout<<"折扣:

"<

"<

}

11.

#include

voidmain()

{

doublex,s=0,a=1;intn=0;

do

{

cin>>x;

s=s+x;

a=a*x;

n++;

}while(n<10);

cout<<"和:

"<

cout<<"积:

"<

cout<<"平均值:

"<

}

12.

#include

voidmain()

{

doublea=1;inti,n;

cin>>n;

for(i=1;i<=n;i++)

a*=i;

cout<

="<

}

13.

#include

voidmain()

{

inti,s,a,b,c;

for(i=100;i<=999;i++)

{a=i/100;

b=i/10%10;

c=i%10;

s=a*a*a+b*b*b+c*c*c;

if(s==i)cout<

}

cout<

}

14.

#include

voidmain()

{

inti;doublex,max;

cin>>x;

max=x;

for(i=2;i<=10;i++)

{

cin>>x;

if(x>max)max=x;

}

cout<<"最大的数:

"<

}

15.

#include"iostream.h"

voidmain()

{

intt,k,a,b;doubles=0;

a=2;b=1;

for(k=1;k<=20;k++)

{s+=1.0*a/b;

t=b;

b=a;

a=a+t;

}

cout<<"s="<

}

16.

#include"iostream.h"

voidmain()

{

inti,j;

for(i=1;i<=4;i++)

{

for(j=1;j<=i;j++)

cout<<''<

for(j=i-1;j>=1;j--)

cout<<''<

cout<

}

}

17.

 

#include

#include

voidmain()

{

inti,j;charc='A';

for(i=0;i<=4;i++)

{

cout<

for(j=0;j<=2*i;j++)

cout<

(2)<

cout<

}

c='D';

for(i=0;i<=3;i++)

{

cout<

for(j=0;j<=6-2*i;j++)

cout<

(2)<

cout<

}

}

18.

#include"iostream.h"

voidmain()

{

inti=1;doublet,e=1;

do

{

t=1;

for(intj=1;j<=i;j++)

t*=j;

t=1/t;

e+=t;

i++;

}while(t>=1e-5);

cout<<"e="<

}

19.

#include

#include

#include

voidmain()

{

inti,x,y;

cout<<"二进制的反序\t"<<"八进制的反序\t"<<"十六进制的反序\t"<<"\t十进制"<

for(i=1;i<=156;i++)

{

cout<

x=i;

do{

cout<

x/=2;

}

while(x!

=0);

cout<<'\t';//输出二进制的反序

cout<

x=i;

do{

cout<

x/=8;

}

while(x!

=0);

cout<<'\t';//输出八进制的反序

x=i;

cout<

do{

y=x%16;

if(y>=0&&y<=9)

cout<

elsecout<<(char)(x%16-10+'A');

x/=16;

}

while(x!

=0);

cout<<'\t';//输出十六进制的反序

cout<

cout<<'\t'<

}

}

20.

#include"iostream.h"

voidmain()

{

intn,s=0,i;

n=10;

for(i=1;i<=n;i++)

{

intt=0;

for(intj=1;j<=i;j++)

t+=j;

s+=t;

}

cout<<"s="<

}

21.

#include

#include

#include

voidmain()

{

intx,y,z;//x表示母鸡的个数,y表示公鸡的个数,z表示小鸡的个数

cout<<"母鸡\t"<<"公鸡\t"<<"小鸡"<

for(x=0;x<=33;x++)

for(y=0;y<=50;y++)

{

z=100-x-y;

if(3*x+2*y+0.5*z==100)

cout<

}

}

22.

#include"iostream.h"

voidmain()

{

intx,y,s;

for(x=2;x<1000;x++)

{

s=0;

for(y=1;y<=x/2;y++)

if(x%y==0)s+=y;

if(s==x)cout<

}

}

展开阅读全文
相关搜索

当前位置:首页 > 法律文书 > 调解书

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

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