语法基础(判断语句)


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


在这里插入图片描述

672. 税

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

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

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

UOJ_1051_en.png

输入格式

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

输出格式

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

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

数据范围

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

输入样例1:
3002.00
输出样例1:
R$ 80.36
输入样例2:
1700.00
输出样例2:
Isento
输入样例3:
4520.00
输出样例3:
R$ 355.60
样例解释

对于样例 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<iostream>
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");
}

663. 简单排序

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

输入格式

共一行,包含三个整数。

输出格式

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

然后,输出一个空行。

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

数据范围

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

输入样例:
7 21 -14
输出样例:
-14
7
21

7
21
-14
#include<bits/stdc++.h>
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;
}

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
输出样例:
R1 = -0.29788
R2 = -1.71212
#include<iostream>
#include<cmath>
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;
    }
}

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:
Media: 5.4
Aluno em exame.
Nota do exame: 6.4
Aluno aprovado.
Media final: 5.9
输入样例2:
2.0 6.6 4.0 9.0
输出样例2:
Media: 4.9
Aluno reprovado.
输入样例3:
9.0 4.0 8.5 9.0
输出样例3:
Media: 7.3
Aluno aprovado.
#include<iostream>
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
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值