• 语法基础(判断语句)



    作者:进击攻城狮
    个人主页:欢迎访问我的主页
    首发时间:2022年8月11日星期四
    订阅专栏:刷题
    个人信条:星光不问赶路人,岁月不负有心人。
    如果文章有错误,欢迎在评论区指正。
    🎉 支持我:点赞👍+收藏⭐️+留言📝


    在这里插入图片描述

    672. 税

    读取一个保留两位小数的浮点数值,表示一个公民的工资。

    在公民缴纳个人所得税时,不同收入部分需要缴税的税率也是不同的。

    请根据下表确定该公民需要缴纳的个人所得税是多少。

    UOJ_1051_en.png

    输入格式

    共一行,包含一个浮点数。

    输出格式

    如果公民需要缴税,则输出所需缴纳的税额。输出格式为 R$ X,其中 XX 为个税的金额,保留两位小数。

    如果公民不需要缴税,则输出 Isento

    数据范围

    0≤公民工资≤50000≤公民工资≤5000

    输入样例1:

    3002.00
    
    • 1

    输出样例1:

    R$ 80.36
    
    • 1

    输入样例2:

    1700.00
    
    • 1

    输出样例2:

    Isento
    
    • 1

    输入样例3:

    4520.00
    
    • 1

    输出样例3:

    R$ 355.60
    
    • 1

    样例解释

    对于样例 11,0∼2000.000∼2000.00 部分不用缴税,2000.01∼3000.002000.01∼3000.00 部分按 8%8% 的税率缴税,共计 1000×8%=801000×8%=80,3000.01∼3002.003000.01∼3002.00 部分按 18%18% 的税率缴税,共计 2×18%=0.362×18%=0.36,合计 80.3680.36。

    对于样例 22,公民收入未超过 20002000,所以输出 Isento

    对于样例 33,0∼2000.000∼2000.00 部分不用缴税,2000.01∼3000.002000.01∼3000.00 部分按 8%8% 的税率缴税,共计 1000×8%=801000×8%=80,3000.01∼4500.003000.01∼4500.00 部分按 18%18% 的税率缴税,共计 1500×18%=2701500×18%=270,4500.01∼45204500.01∼4520 部分按 28%28% 的税率缴税,共计 20×28%=5.6020×28%=5.60,合计 355.60355.60。

    难度:简单
    时/空限制:1s / 64MB
    总通过数:7149
    总尝试数:18433
    来源:语法题
    算法标签
    #include
    using namespace std;
    int main(){
        double a;
        cin>>a;
        if(a>2000.01&&a<=3000)
        printf("R$ %.2lf",(a-2000.01)*0.08);
        else
        if(a>3000.01&&a<4500)
        printf("R$ %.2lf",(a-3000.01)*0.18+999.99*0.08);
        else
        if(a>4500)
        printf("R$ %.2lf",(a-4500)*0.28+999.99*0.08+1499.99*0.18);
        else
        printf("Isento");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    663. 简单排序

    读取三个整数并按升序对它们进行排序。

    输入格式

    共一行,包含三个整数。

    输出格式

    首先,将三个整数按升序顺序输出,每行输出一个整数。

    然后,输出一个空行。

    紧接着,将三个整数按原输入顺序输出,每行输出一个整数。

    数据范围

    −100≤输入整数≤100−100≤输入整数≤100

    输入样例:

    7 21 -14
    
    • 1

    输出样例:

    -14
    7
    21
    
    7
    21
    -14
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    #include
    using namespace std;
    int main(){
        int a[3],b[3];
        for(int i=0;i<=2;i++)
        {
            cin>>a[i];
            b[i]=a[i];
    }
    sort(a,a+3);
    for(int i=0;i<=2;i++)cout<<a[i]<<endl;
    cout<<endl;
    for(int i=0;i<=2;i++)cout<<b[i]<<endl;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    658. 一元二次方程公式

    读取三个浮点数 a,b,ca,b,c 的值,利用一元二次方程求根公式对方程 ax2+bx+c=0ax2+bx+c=0 进行求解。

    一元二次方程求根公式为:

    x=−b±b2−4ac−−−−−−−√2ax=−b±b2−4ac2a

    如果 b2−4ac<0b2−4ac<0 导致方程无解或 a=0a=0,则输出 Impossivel calcular

    输入格式

    输入三个浮点数 a,b,ca,b,c。

    输出格式

    参照输出格式,输出方程的根,输出结果保留五位小数,如果无解则输出 Impossivel calcular

    两个根可以按任意顺序输出,都算正确。

    数据保证不存在只有一个解的情况。

    数据范围

    −1000.0≤a,b,c≤1000.0−1000.0≤a,b,c≤1000.0

    输入样例:

    10.0 20.1 5.1
    
    • 1

    输出样例:

    R1 = -0.29788
    R2 = -1.71212
    
    • 1
    • 2
    #include
    #include
    using namespace std;
    int main(){
        double a,b,c,d,e,f;
        cin>>a>>b>>c;
       
        if((b*b-4*a*c<0)||a==0)cout<<"Impossivel calcular";
        else{
            e=(-b+sqrt(b*b-4*a*c))/(2*a);
            f=(-b-sqrt(b*b-4*a*c))/(2*a);
           printf("R1 = %.5lf\nR2 = %.5lf",e,f);
            return 0;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    661. 平均数3

    读取 44 个数字 N1,N2,N3,N4N1,N2,N3,N4,这 44 个数字都是保留 11 位小数的浮点数,对应于学生获得的 44 个分数。

    这 44 个分数的权重分别为 2,3,4,12,3,4,1,请你计算学生成绩的平均值 XX 并输出 Media: X

    接下来分为以下三种情况:

    1. 如果平均值为 7.07.0 或更高,则输出 Aluno aprovado.
    2. 如果平均值小于 5.05.0,则输出 Aluno reprovado.
    3. 如果平均值大于等于 5.05.0 并且小于 7.07.0,则输出 Aluno em exame.,并再读取一个数字 YY,然后输出 Nota do exame: Y。接下来重新计算平均值 Z=(X+Y)/2Z=(X+Y)/2,如果 ZZ 大于或等于 5.05.0,则输出 Aluno aprovado.,否则输出 Aluno reprovado.。最后输出 Media final: Z,表示学生的最终成绩。

    输入格式

    输入中包含四个浮点数,表示学生的四个成绩。

    也有部分满足情况 33 的数据,多包含一个浮点数。

    输出格式

    输出的结果均保留 11 位小数,具体形式参照题目描述和输出样例。

    数据范围

    0≤输入数据≤10.00≤输入数据≤10.0

    输入样例1:

    2.0 4.0 7.5 8.0
    6.4
    
    • 1
    • 2

    输出样例1:

    Media: 5.4
    Aluno em exame.
    Nota do exame: 6.4
    Aluno aprovado.
    Media final: 5.9
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输入样例2:

    2.0 6.6 4.0 9.0
    
    • 1

    输出样例2:

    Media: 4.9
    Aluno reprovado.
    
    • 1
    • 2

    输入样例3:

    9.0 4.0 8.5 9.0
    
    • 1

    输出样例3:

    Media: 7.3
    Aluno aprovado.
    
    • 1
    • 2
    #include
    using namespace std;
    int main(){
        double a,b,c,d,e;
        cin>>a>>b>>c>>d;
        e=(a*2+b*3+c*4+d)/10;
        if(e>7)printf("Media: %.1lf\nAluno aprovado.",e);
        else
        if(e<5) printf("Media: %.1lf\nAluno reprovado.",e);
        else {
            double f;
            cin>>f;
            if((e+f)/2>=5)
            printf("Media: %.1lf\nAluno em exame.\nNota do exame: %.1lf\nAluno aprovado.\nMedia final: %.1lf",e,f,(e+f)/2);
            else printf("Media: %.1lf\nAluno em exame.\nNota do exame: %.1lf\nAluno reprovado.\nMedia final: %.1lf",e,f,(e+f)/2);
            return 0;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    深入浅出RVO、NRVO以及std::move的策略与影响
    C语言力扣第32题之最长有效括号。用栈实现
    Android 11.0 MTK去掉开机通过长按电源键+音量加进入recovery 工厂模式
    剑指offer面试题36 数组中的逆序对
    【Pytorch深度学习实战】(4)前馈神经网络(FNN)
    指针笔试题
    debian10 开启rdp安装firefox并解决firefox 中文乱码
    【Python】二、变量与数据类型练习
    【JavaSE】数据类型和运算符
    jtag调试ls1012a linux-5.3内核
  • 原文地址:https://blog.csdn.net/yi_chen_c/article/details/126277359