计算机程序设计VC++习题册参考答案110.docx

上传人:b****8 文档编号:28504929 上传时间:2023-07-16 格式:DOCX 页数:22 大小:20.50KB
下载 相关 举报
计算机程序设计VC++习题册参考答案110.docx_第1页
第1页 / 共22页
计算机程序设计VC++习题册参考答案110.docx_第2页
第2页 / 共22页
计算机程序设计VC++习题册参考答案110.docx_第3页
第3页 / 共22页
计算机程序设计VC++习题册参考答案110.docx_第4页
第4页 / 共22页
计算机程序设计VC++习题册参考答案110.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

计算机程序设计VC++习题册参考答案110.docx

《计算机程序设计VC++习题册参考答案110.docx》由会员分享,可在线阅读,更多相关《计算机程序设计VC++习题册参考答案110.docx(22页珍藏版)》请在冰豆网上搜索。

计算机程序设计VC++习题册参考答案110.docx

计算机程序设计VC++习题册参考答案110

参考答案

作业1VC++基本程序结构

一、填空题

1.

(1)函数

(2)main()

2.

(1)函数体

(2)分号

3.

(1)两或二或2

(2)大小写

4.

(1)cin

(2)cout

5.

(1)//

6.

(1)/*

(2)*/

7.

(1)#include

8.

(1)#

9.

(1).h

(2).cpp

10.

(1)用户(或编程者)

二、单选题

1.A2.D3.A4.A5.C6.B7.B8.C9.D

作业2数据类型、常量、变量、运算符

一、单选题

1.D2.B3.B4.D5.D6.D7.C8.B9.B10.C11.C12.B

二、阅读程序题

1.10121941

2.Isay:

”C++”Hesays:

”C++isveryinterstiing!

三、程序设计题

1.#include

voidmain()

{charc1='C',c2='h',c3='i',c4='n',c5='a';

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

cout<<"passwordis:

"<

}

作业3表达式

一、单选题

1.B2.D3.A4.C5.C6.A7.B8.C

二、填空题

1.

(1)35

2.

(1)25

3.

(1)6

(2)30

4.

(1)4

(2)11

5.

(1)(x+y)/(2*x*y)

6.

(1)1/(a*x*x+b*y*y)

7.

(1)20

8.

(1)1

(2)3

9.

(1)3

(2)3.2

10.

(1)6

(2)60

11.

(1)x

12.

(1)true(或1)

13.

(1)false(或0)

14.

(1)x

15.

(1)!

x

16.

(1)false(或0)

17.

(1)true(或1)

三、写出下面各逻辑表达式的值

1.

(1)-72.5

(2)11.5(3)23(4)9(5)6(6)6(7)5.5

2.

(1)24

(2)9(3)60(4)0(5)0(6)0

3.

(1)0

(2)1(3)1(4)0(5)1

作业4简单的输入输出

一、阅读程序题

1.ThisisaC++program.

2.a+b=33

3.a=3b=2x=1.8y=7.0ch1=ach2=’’ch3=b

4.a=19b=19c=35d=23

5.191343

二、程序改错

1.1)#definepi3.1416

2)去掉此句r=2.8;

3)cout<

 

三、程序设计

1.#include

main()

{cout<<"***************"<<'\n';

 cout<<"Hello!

"<<'\n';

 cout<<"***************"<<'\n';

}

2.#include

main()

{ints1,s2,s3,sum;

 cout<<"请输入三个学生的成绩:

";

 cin>>s1>>s2>>s3;

 sum=s1+s2+s3;

 cout<<"sum="<

}

3.#include

voidmain(){

cout<<"pleaseinputasmallcharacter:

";

chara;

cin>>a;

charb=a-32;

cout<

}

4.#include

voidmain()

{floatc,f;inta;

cout<<"请输入一个华氏温度:

";

cin>>f;

c=(5.0/9.0)*(f-32);//注意5和9要用实型表示,否则5/9值为0

a=c*100+0.5;c=a/100.0;//保留保留两位小数,对第三小数位四舍五入

cout<<"摄氏温度为:

"<

}

作业5选择结构语句

一、填空题

1.

(1)顺序结构

(2)循环结构

2.

(1)字符型、枚举型

3.

(1)if

4.

(1)switch

5.

(1)不停止(或继续)

二、阅读程序题

1.13

2.121

a,b,c=7,12,30

3.1114switchend.

4.1064

三、程序设计

参考程序:

1.//方法一:

#include

voidmain()

{inta,b,c;

cout<<"pleaseenterthreeintegernumbers:

";

cin>>a>>b>>c;

if(a

if(b

cout<<"max="<

else

cout<<"max="<

elseif(a

cout<<"max="<

else

cout<<"max="<

cout<

}

//方法二:

#include

voidmain()

{inta,b,c,temp,max;

cout<<"pleaseenterthreeintegernumbers:

";

cin>>a>>b>>c;

temp=(a>b)?

a:

b;//将a和b中的大者存入temp中

max=(temp>c)?

temp:

c;//将a和b中的大者与c比较,最大者存入max

cout<<"max="<

}

2.#include

voidmain()

{floatscore;

chargrade;

cout<<"pleaseenterscoreofstudent:

";

cin>>score;

while(score>100||score<0)

{cout<<"dataerror,enterdataagain.";

cin>>score;

}

switch(int(score/10))

{case10:

case9:

grade='A';break;

case8:

grade='B';break;

case7:

grade='C';break;

case6:

grade='D';break;

default:

grade='E';

}

cout<<"scoreis"<

}

3.#include

#include

voidmain()

{charc;

intletters=0,space=0,digit=0,other=0;

cout<<"enteroneline:

:

"<

while((c=getchar())!

='\n')

{if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

elseif(c=='')

space++;

elseif(c>='0'&&c<='9')

digit++;

else

other++;

}

cout<<"letter:

"<

"<

"<

"<

}

4.#include

voidmain()

{intx,y;

cout<<"enterx:

";

cin>>x;

if(x<1)

{y=x;

cout<<"x="<

}

elseif(x<10)//1≤x<10

{y=2*x-1;

cout<<"x="<

}

else//x≥10

{y=3*x-11;

cout<<"x="<

}

cout<

}

5.#include

voidmain()

{intt,a,b,c,d;

cout<<"enterfournumbers:

";

cin>>a>>b>>c>>d;

cout<<"a="<

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(a>d)

{t=a;a=d;d=t;}

if(b>c)

{t=b;b=c;c=t;}

if(b>d)

{t=b;b=d;d=t;}

if(c>d)

{t=c;c=d;d=t;}

cout<<"thesortedsequence:

"<

cout<

}

作业6循环结构语句

一、单选题

1.C2.C3.A4.C5.B6.D

二、写出程序的结果

1.333

2.s=60

三、程序填空题

1.

(1)f1+f2

(2)i%5==0(3)f

2.

(1)b<=0

(2)a=b(3)b=r

四、程序设计

参考程序:

1.#include

voidmain()

{inti=0;doubles=0;

while(s<5)s+=double

(1)/++i;

cout<<"n="<

}

//若采用for循环编写程序,则如下所示:

#include

voidmain()

{

inti;doubles=0;

for(i=1;s<5;i++)s+=1.0/i;

cout<<"n="<

//注意:

此i-1的值为所求的n值

}

2.#include

voidmain()

{inti,j,k,n;

cout<<"narcissusnumbersare:

"<

for(n=100;n<1000;n++)

{i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

cout<

}

cout<

}

3.#include

voidmain()

{intday,x1,x2;

day=9;

x2=1;

while(day>0)

{x1=(x2+1)*2;//第1天的桃子数是第2天桃子数加1后的2倍

x2=x1;

day--;

}

cout<<"total="<

}

4.#include

voidmain()

{inti,k;

for(i=0;i<=3;i++)//输出上面4行*号

{for(k=0;k<=2*i;k++)

cout<<"*";//输出*号

cout<

}

for(i=0;i<=2;i++)//输出下面3行*号

{for(k=0;k<=4-2*i;k++)

cout<<"*";//输出*号

cout<

}

}

5.#include

voidmain()

{inti,t,n=20;

doublea=2,b=1,s=0;

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

{s=s+a/b;

t=a;

a=a+b;//将前一项分子与分母之和作为下一项的分子

b=t;//将前一项的分子作为下一项的分母

}

cout<<"sum="<

}

作业7控制执行顺序的语句

一、填空题

1.

(1)break

2.

(1)continue

3.

(1)return

4.

(1)主(或main)

5.

(1)n/2+1

二、写出程序的运行结果

1.3

2.157111337

3.a=2

b=8

三、程序填空题

1.

(1)j<=temp

(2)break(3)j>temp

j=temp+1

四、程序设计

参考程序:

1.//方法一

#include

voidmain()

{intm,s,i;

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

{s=0;

for(i=1;i

if((m%i)==0)s=s+i;

if(s==m)

{cout<

cout<<"itsfactorsare:

";

for(i=1;i

if(m%i==0)cout<

cout<

}

}

}

//方法二

#include

voidmain()

{constintm=1000;//定义寻找范围

intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;

inti,a,n,s;

for(a=2;a<=m;a++)//a是2~1000之间的整数,检查它是否为完数

{n=0;//n用来累计a的因子的个数

s=a;//s用来存放尚未求出的因子之和,开始时等于a

for(i=1;i

if(a%i==0)//如果i是a的因子

{n++;//n加1,表示新找到一个因子

s=s-i;//s减去已找到的因子,s的新值是尚未求出的因子之和

switch(n)//将找到的因子赋给k1,...,k10

{case1:

k1=i;break;//找出的笫1个因子赋给k1

case2:

k2=i;break;//找出的笫2个因子赋给k2

case3:

k3=i;break;//找出的笫3个因子赋给k3

case4:

k4=i;break;//找出的笫4个因子赋给k4

case5:

k5=i;break;//找出的笫5个因子赋给k5

case6:

k6=i;break;//找出的笫6个因子赋给k6

case7:

k7=i;break;//找出的笫7个因子赋给k7

case8:

k8=i;break;//找出的笫8个因子赋给k8

case9:

k9=i;break;//找出的笫9个因子赋给k9

case10:

k10=i;break;//找出的笫10个因子赋给k10

}

}

if(s==0)//s=0表示全部因子都已找到了

{cout<

cout<<"itsfactorsare:

";

if(n>1)cout<1表示a至少有2个因子

if(n>2)cout<<","<2表示至少有3个因子,故应再输出一个因子

if(n>3)cout<<","<3表示至少有4个因子,故应再输出一个因子

if(n>4)cout<<","<

if(n>5)cout<<","<

if(n>6)cout<<","<

if(n>7)cout<<","<

if(n>8)cout<<","<

if(n>9)cout<<","<

cout<

}

}

}

//方法三

#include

voidmain()

{intk[11];

inti,a,n,s;

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

{n=0;

s=a;

for(i=1;i

if((a%i)==0)

{n++;

s=s-i;

k[n]=i;//将找到的因子赋给k[1]┅k[10]

}

if(s==0)

{cout<

cout<<"itsfactorsare:

";

for(i=1;i

cout<

cout<

}

}

}

2.#include

voidmain(void)

{

cout<<"Theprimesin[3,20]are:

"<

for(inti=3;i<=20;i++)//从3到20的循环体

{intp=1;//1=素数;0=非素数

for(intj=2;j<=i/2;j++)//从1到i/2的循环体

{

if(i%j==0)//i被j整除

{p=0;//是非素数

break;}//中止对j的循环

}

if(p==0)continue;//若是非素数转向到i++

cout<

}

}

3.#include

voidmain(void)

{for(intn=100;n<=200;n++)

{if(n%3==0)

continue;//break;

cout<

}

}

作业8函数的定义和调用

一、单选题

1.B  2.B  3.B  4.A  5.A  6.A  7.A

二、填空题

1.(1)floatfun(int,int,int=5,int=5);

2.(1)值传递 (2)地址传递  (3)引用传递

3.(1)9

4.(1)24

5.

(1)150*50=0  (2)值传递

三、程序设计题

参考程序:

1.

#include

#include

intjc(intn){

intj=1,i;

if(n<0){

cout<<"n应为正数!

"<<'\n';

exit

(1);

}

if(n==0)return1;

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

returnj;

}

intzh(intm,intr){

intc;

if(m<=r){

cout<<"m必须大于r!

"<<'\n';

exit

(1);

}

c=jc(m)/(jc(r)*jc(m-r));

returnc;

}

voidmain(void){

cout<<"C(4,2)="<

cout<<"C(6,4)="<

cout<<"C(8,7)="<

}

2.#include

intadd(intx,inty)

{returnx+y;}

intsub(intx,inty)

{returnx-y;}

intmul(intx,inty)

{returnx*y;}

intdiv(intx,inty)

{returnx/y;}

voidmain()

{inta,b,c;charop1,op2;

cout<<"请输入算式(如3+4=):

";

cin>>a>>op1>>b>>op2;

switch(op1)

{

case'+':

c=add(a,b);break;

case'-':

c=sub(a,b);break;

case'*':

c=mul(a,b);break;

case'/':

c=div(a,b);

}

cout<<"结果是:

"<

}

作业9作用域与存储类

一、单选题

1.A  2.C  

二、填空题

1.

(1)15,15,5  

(2)5,15,15

2.

(1)34

3.

(1)11   

(2)18

4.

(1)9 

5.12-2

525

作业10函数的重载、编译预处理

一、单选题

1.C  2.A  3.C  4.B  5.B

二、填空题

1.

(1)宏定义  

(2)文件包含

2.

(1)#definearea(a)((a)*(a))

3.

(1)F=3

4.

(1)50

5.

(1)3行  

(2)3行函数的调用产生了二义性,或1行和2行定义的函数不能构成重载函数

6.

(1)3行

(2)3行函数的调用产生了二义性,或1行和2行定义的函数不能构成重载函数

三、改错题

1.#defineMAX10

for(count=MAX;count>=0;--count)

2.if(value<0)

{DIG;}

四、程序设计题

1.参考程序:

#include

#defineMIN(a,b)((a)<(b)?

(a):

(b))

voidmain()

{intx,y;

cout<<"请输入两个数:

";

cin>>x>>y;

cout<<"最小数为:

"<

}

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

当前位置:首页 > 医药卫生 > 基础医学

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

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