C++学习笔记(第三章 多分支结构 循环程序设计 之一)

这篇博客介绍了五个C++编程题目,包括分段函数求值、显示菜单选择评论、个人所得税计算器、利息计算器以及计算特定月份天数的程序。通过这些实例,展示了如何利用多分支结构(如if-else和switch语句)和循环来解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目1:分段函数求值,从键盘输入x的值(整型),根据下面公式计算并输入x和输出y的值。 


//解法1:各分段的标准都为2的倍数,所以,构造表达式 t= x/2,根据t的取值决定switch分支;
#include<iostream>
#include<cmath>
using namespace std;
int main( )
{
    int x, y, a;
    cin>>x;
    a = x/2;   //注意是整数相除
    if (a<0)
        a=0;    //这样,x<0时,a值也是0
    switch(a)
    {
    case 0: //即x<2时
        y=x;
        break;
    case 1:
    case 2://a为1、2,对应x>=2 && x<6时
        y=x*x+1;
        break;
    case 3:
    case 4://a为3、4,对应x>=6 && x<10时
        y=-x;
        break;
    default://如果走到这一分支,对应的是x>=10的所有情况
        y=-x*x-1;
    }
    cout<<y<<endl;
    return 0;
}

//解法2:构造表达式 t=(x<2) + (x<6) + (x<10)。由于关系表达式(x<a)的值为0或1(真为1,假为0),所以t能表示x究竟满足了几个条件。t值为3时,相加的三个关系表达式全为真,对应x<2;而t值为0时,相加的三个关系表达式全为假,对应x≥10,其他类似。根据t的取值,可以决定switch分支。
#include<iostream>
#include<cmath>
using namespace std;
int main( )
{
    int x, y, t;
    cin>>x;
    t = (x<2) + (x<6) + (x<10);   //括号中的关系表达式有几个为真(1),确定了t的值,实则反映的是x的范围
    switch(t)
    {
    case 3: //(x<2) 、 (x<6) 、 (x<10) 全部为真,自然x<2
        y=x;
        break;
    case 2: //(x<2) 、 (x<6) 、 (x<10) 为真有2,自然x>=2,且x<6
        y=x*x+1;
        break;
    case 1: //(x<2) 、 (x<6) 、 (x<10) 为真有1,自然……
        y=-x;
        break;
    case 0://只有(x<2) 、 (x<6) 、 (x<10) 全0了.也可写作default:
        y=-x*x-1;
    }
    cout<<y<<endl;
    return 0;
}<span style="font-family:宋体;"><span style="font-size: 14px; line-height: 26px;">
</span></span>


题目2:编写程序,显示“菜单”,由用户输入代号后,输出对所选项目的简短评论。运行结果参考下图:


题目3:个人所得税计算器,编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。

(1)用if语句的嵌套完成程序设计;
(2)用switch语句完成程序设计;

 * 输入描述:个人月收入总额 

* 问题描述:按2011年9月1日起我国调整的个人所得税征收办法,起征点为3500元,超出部分按以下7级计算:
* 1 超过0至1500  税率3% 速算扣除数0
* 2 超过1500元至4500元的部分 税率10%速算扣除数105 
* 3 超过4500元至9000元的部分 税率20%速算扣除数555
* 4 超过9,000元至35,000元的部分税率25%速算扣除数1005
* 5 超过35,000元至55,000元的部分税率30%速算扣除数2755
* 6 超过55,000元至80,000元的部分税率35%速算扣除数5505 
* 7 超过80,000以上 税率45%速算扣除数13505 
* 个人所得税=(收入总额-3500)*税率-速算扣除数
* 程序输出:应缴税款和税后收入


题目4:利息计算器,输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。要求使用switch语句,根据选择的存款种类,确定利率和存期后计算。

提示:如果是活期存款,需要补充输入天数。利息=金额×年利率×存期(单位:年,活期一年按360天计)。利率使用2011年7月7日公布的最新年利率:活期  0.50%,3个月  3.10%,6个月 3.30%,一年 3.50%,二年 4.40%,三年 5.00%,五年 5.50%。


题目5:输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。

输入样例1:2014 9
输出结果1:本月30天
输入样例2:2014 2
输出结果2:本月28天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值