第二章_基本控制结构程序设计习题解答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章基本控制结构程序设计习题

一.基本概念与基础知识自测题

2.1 程序阅读题

2.1.1 设有说明:

int a=3, b=100;

下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。

while(b/a>5){

if(b-a>25) a++;

else b/=a;

}

解答:

本题检查学生整除的概念。跟踪:

(1)14

(2)17

(3)100

2.1.2 设有说明:

int x,y,n,k;

下面程序段的功能是备选答案中的(1),当n=10,x=10打印结果是(2)。cin>>x>>n;

k=0;

do{

x/=2;

k++;

}while(k

y=1+x;

k=0;

do{

y=y*y;

k++;

}while(k

cout<

备选答案:

A. n n x y )1(+=

B. n n x y 2)21(+=

C. n n x y )21(+=

D. n n x y 21)2

1(++= 解答:

第一个循环使x 成为:n x 2;y 成为:n x 21+;第二个循环使y 成为:n

n x 2)2

1(+; (1)B

考虑整除,当x 连除4次2以后即为0,所以:

n

x

2为0 (2)1

2.1.3 请看如下程序段: if (num==1) cout<<”Alpha”; else if (num==2) cout<<”Bata”;

else if (num==3) cout<<”Gamma”;

else cout<<”Delta”;

当num 的值分别为1、2、3时,上面程序段的输出分别为(1) 、(2) 、(3) 。

解答:

检查条件语句与字符串输出概念: (1)Alpha (2)Bata (3)Gamma

2.1.4 执行下面程序段后,m 和k 的值分别为 (1) 、 (2) 。 int m,k;

for(k=1,m=0;k<=50;k++){

if (m>=10) break; if (m%2==0){

m+=5; continue; } m-=3; }

(1)11 (2)8

二.编程与综合练习题

2.2 有一个函数:

⎪⎩

⎨⎧≥-≤≤<=)10x ( 113x )10x (1 1-2x 1)(x x y

编写程序,输入x ,输出y 。

解:

#include using namespace std; int main(){ double x,y; cout<<"输入x="; cin>>x; if (x<1) y=x; else if (x<10) y=2*x-1; else y=3*x-11; cout<<"y="<

2.3 设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,80~89分为4分,70~79分为3分,60~69分为2分,60分以下为1分。 解:10分一档用10进行整除获得,转换用开关语句实行。 #include using namespace std; int main(){ int mark,result; //mark 是百分制成绩,result 是5分制 cout<<"请输入百分制成绩:"<>mark; if (mark<0) { cout<<"缺考!"<

result=4;

cout<<"输出五分制成绩:"<

break;

case 7:

result=3;

cout<<"输出五分制成绩:"<

break;

case 6:

result=2;

cout<<"输出五分制成绩:"<

break;

case 5:case 4:case 3:case 2:case 1:case 0:

result=1;

cout<<"输出五分制成绩:"<

break;

default:

cout<<"输入错误!"<

}

return 0;

}

2.4 编程计算个人所得税。个人所得税率表如下:月收入1200元起征,超过起征点500元以内部分税率5%,超过500元到2,000元部分税率10%,超过2,000元到5,000元部分税率15%,超过5,000元到20,000元部分税率20%,超过20,000元到40,000元部分税率25%,超过40,000元到60,000元部分税率30%,超过60,000元到80,000元部分税率35%,超过80,000元到100,000元部分税率40%,超过100,000元部分税率45%。

解:应该从最高税率段开始计算,分段叠加。先算两万元以上各段,每两万为一档,采用switch 语句,注意没有使用break语句。后面各低收入段,用if语句,也没有使用else,这两种方法是对应的。第二要注意计算的入口处,收入减去该段的下限,进行计算,以后各段都是完整的段,计算十分简单。

#include

using namespace std;

int main(){

double income,tax=0;

int k;

cout<<"请输入个人月收入:"<

cin>>income;

if(income<=1200){

cout<<"免征个人所得税"<

return 0;

}

else income-=1200;

if(income>20000){

k=income/20000;

相关文档
最新文档