continue; } m-=3; }
解答:注意continue语句的使用 初值 第1次循环后 第2次循环后 第3次循环后 第4次循环后 第5次循环后 第6次循环后 第7次循环后 第8次循环 (1)11 (2)8
二.编程与综合练习题
2.2有一个函数:
编写程序,输入x,输出y。 解:
#include
m=0 m=5 m=2 m=7 m=4 m=9 m=6 m=11 m=11结束 k=1 k=2 k=3 k=4 k=5 k=6 k=7 k=8 k=8,k++未做
else if(x<10) y=2*x-1; else y=3*x-11; cout<<\ return 0; }
2.3设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,80?89分为4分,70?79分为3分,60?69分为2分,60分以下为1分。 解:10分一档用10进行整除获得,转换用开关语句实行。 #include
int mark,result; //mark是百分制成绩,result是5分制 cout<<\请输入百分制成绩:\ cin>>mark; if(mark<0) {
cout<<\缺考!\ return 0; }
switch (mark/10){ case 9: case 10: result=5;
cout<<\输出五分制成绩:\ break; case 8: 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
double income,tax=0;
int k;
cout<<\请输入个人月收入:\ cin>>income; if(income<=1200){
cout<<\免征个人所得税\ return 0; }
else income-=1200; if(income>20000){ k=income/20000; switch(k){
default: tax+=(income-100000)*0.45;income=100000; case 4: tax+=(income-80000)*0.40;income=80000; case 3: tax+=(income-60000)*0.35;income=60000; case 2: tax+=(income-40000)*0.30;income=40000; case 1: tax+=(income-20000)*0.25;income=20000; } }
if(income>5000){
tax+=(income-5000)*0.20; income=5000; }
if(income>2000){
tax+=(income-2000)*0.15; income=2000; }
if(income>500){
tax+=(income-500)*0.10; income=500; }
tax+=income*0.05;
cout<<\应征所得税:\ return 0; }
2.5编程打印如下图形: * * * * * * * * * * * * * * * * * * * * * * * * *
解:难点在三角形左边的空格的控制,嵌套一个循环语句完成此任务。 #include
for (i=1;i<=4;i++){
for(j=4-i;j>0;j--) cout<<\三角形每行前部的空格 for(j=1;j<=2*i-1;j++) cout<<\ cout< for(i=1;i<=3;i++) cout<<\ * * *\\n\ return 0; } 2.6编程输出下列图形,中间一行英文字母由输入得到。 A B B B C C C C C