C++之分支结构

本文包含两道关于分支结构的编程题目,第一题要求编写程序读取键盘输入,实现特定字符转换并忽略数字输入;第二题涉及根据Neutronia王国的税收政策计算不同收入水平的税率。

几道分支结构题

1.

/*
编写一个程序,读取键盘输入,直到遇到@符号为止,
并回显输入(数字除外),同时将大写字符转换为小写,
将小写字符转换为大写(别忘了cctype函数系列)

分析: 结束符的使用   回显   大小写转换 
*/

#include <iostream>
#include<cctype>
using namespace std;
int main(){
    cout<<"Please enter , '@' to end: ";
    char ch;
    while(ch!='@'){
        if(islower(ch)){
            ch=toupper(ch);
        }
        else if(isupper(ch)){
            ch=tolower(ch);
        }
        if(isdigit(ch)==false){
            cout<<ch;
        }
        cin.get(ch);
    }
    cout<<ch<<endl;
} 

2.

/*
在Neutronia王国,货币单位是tvarp,收入所得税的计算方式如下: 
5000tvarp:不收税; 
5001~15000:10% 
15001~35000:15% 
35000以上:20%

请编写一个程序,使用循环要求用户输入收入,并报告所得税。
当用户输入负数或其他字符时循环结束。 

分析: 结束符的使用   回显   大小写转换 
*/

#include <iostream>
#include<cctype>
using namespace std;
int main(){
    cout<<"Please enter income : ";

    double inc;
    double tax;

    while(inc>=0){
        cin>>inc;
        if(inc<0||cin.good()!=true){
            cout<<"Exit!";
            break;
        }
        if(inc <=5000 ){
            cout<<"No tax!"<<endl;
        }
        else if(inc<=15000){
            tax=(inc-5000)*0.1;
            cout<<"Tax is "<<tax<<" tvarp!"<<endl;
        }
        else if(inc<=35000){
            tax=1000+(inc-15000)*0.15;
            cout<<"Tax is "<<tax<<" tvarp!"<<endl;
        }
        else if(inc>35000){
            tax=1000+3000+(inc-35000)*0.2;
            cout<<"Tax is "<<tax<<" tvarp!"<<endl;
        }

    }

} 
C++ 中的多分支结构允许根据不同的条件执行不同的代码块,常见的多分支结构有 `if-else if-else` 和 `switch` 结构。 `if-else if-else` 多分支结构的基本框架如下: ```cpp if(条件1) 语句1; //满足条件1就执行 else if(条件2) 语句2; //不满足条件1,但是满足条件2执行 else if (条件3) 语句3; //不满足条件1和条件2,满足条件3执行 ...... else 语句n; //不满足上面所有条件就执行 ``` 此结构会依次检查每个条件,当某个条件为真时,执行对应的语句,然后跳过剩余的条件判断。若所有条件都不满足,则执行 `else` 后的语句 [^1]。 例如,输入一个整数 `n`,根据 `n` 的不同范围进行不同的处理: ```cpp #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; if(200<=n&&n<=299) { cout<<n+50<<endl; } else if(300<=n&&n<=499) { cout<<n+100<<endl; } else if(500<=n) { cout<<n+200<<endl; } else if(n<200) { cout<<n<<endl; } system("pause"); return 0; } ``` 在这个例子中,程序会根据输入的 `n` 值,判断其所属的范围,并执行相应的输出操作 [^3]。 另外,`switch` 结构也是一种多分支选择结构,不过引用中未提及相关内容。它通常用于基于一个变量的不同取值进行多分支选择,语法一般为: ```cpp switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; // 更多 case 分支 default: 语句n; break; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值