AcWing基础语法课第二讲习题

第二讲 判断语句

665. 倍数

#include <iostream>

using namespace std;

int main() {

    int a, b;
    cin >> a >> b;
    if (a % b == 0  || b % a == 0) cout << "Sao Multiplos" << endl;
    else cout << "Nao sao Multiplos" << endl;

    return 0;
}

660. 零食

#include <iostream>
#include <cstdio>

using namespace std;
int main(){

    int x, y;
    cin >> x >> y;
    if (x == 1) printf("Total: R$ %.2lf", 4.00 * y);
    else if (x == 2) printf("Total: R$ %.2lf", 4.50 * y);
    else if (x == 3) printf("Total: R$ %.2lf", 5.00 * y);
    else if (x == 4) printf("Total: R$ %.2lf", 2.00 * y);
    else if (x == 5) printf("Total: R$ %.2lf", 1.50 * y);

    return 0;
}

659. 区间

#include <iostream>

using namespace std;

int main() {

    double x;
    cin >> x;
    if (x >= 0 && x <= 100) {
        if (x >= 0 && x <= 25) cout << "Intervalo [0,25]" << endl;
        else if (x > 25 && x <= 50) cout << "Intervalo (25,50]" << endl;
        else if (x > 50 && x <= 75) cout << "Intervalo (50,75]" << endl;
        else if (x > 75 && x <= 100) cout << "Intervalo (75,100]" << endl;
    } else cout << "Fora de intervalo" << endl;

    return 0;
}

664. 三角形

#include <iostream>
#include <cstdio>

using namespace std;

int main() {

    // 可以形成三角形的条件 任意两边之和大于第三边
    // 梯形面积 上低加下底乘以高除以二
    double a, b, c;
    cin >> a >> b >> c;
    if (a + b > c && a + c > b && b + c > a) printf("Perimetro = %.1lf", a + b + c);
    else printf("Area = %.1lf", (a + b) * c / 2);

    return 0;
}


667. 游戏时间

#include <iostream>

using namespace std;

int main() {

    int a, b;
    cin >> a >> b;
    if (a > b) cout << "O JOGO DUROU " << 24 - a + b << " HORA(S)" << endl;
    else if (a == b) cout << "O JOGO DUROU 24 HORA(S)" << endl;
    else if (a < b) cout << "O JOGO DUROU " << b - a << " HORA(S)" << endl;


    return 0;
}

669. 加薪

#include <cstdio>

int main() {

    double money; // 初始工资
    double newMoney; // 涨薪后的工资
    scanf("%lf", &money);
    if (money >= 0 && money <= 400.00) newMoney = money * 1.15;
    else if (money >= 400.01 && money <= 800.00) newMoney = money * 1.12;
    else if (money >= 800.01 && money <= 1200) newMoney = money * 1.1;
    else if (money >= 1200.01 && money <= 2000.00) newMoney = money * 1.07;
    else if (money > 2000.00) newMoney = money * 1.04;
    printf("Novo salario: %.2lf\n", newMoney);
    printf("Reajuste ganho: %.2lf\n", newMoney - money);
    printf("Em percentual: %.0lf %%\n", (newMoney - money) / money * 100); // printf函数中连续两个%才是打印一个%

    return 0;
}

670.动物

#include <iostream>

using namespace std;

int main() {

    string a, b, c;
    cin >> a >> b >> c;
    if (a == "vertebrado") {
        if (b == "ave") {
            if (c == "carnivoro") cout << "aguia" << endl;
            else if (c == "onivoro") cout << "pomba" << endl;
        } else if (b == "mamifero") {
            if (c == "onivoro") cout << "homem" << endl;
            else if (c == "herbivoro") cout << "vaca" << endl;
        }
    } else if (a == "invertebrado") {
        if (b == "inseto") {
            if (c == "hematofago") cout << "pulga" << endl;
            else if (c == "herbivoro") cout << "lagarta" << endl;
        } else if (b == "anelideo") {
            if (c == "hematofago") cout << "sanguessuga" << endl;
            else if (c == "onivoro") cout << "minhoca" << endl;
        }
    }

    return 0;
}

657. 选择练习1

#include <iostream>

using namespace std;

int main() {

    int a, b, c, d;
    cin >> a >> b >> c >> d;
    // 这条件可真是有点长啊
    if (b > c && d > a && c + d > a + b && (c > 0 && d > 0) && a % 2 == 0) cout << "Valores aceitos" << endl;
    else cout << "Valores nao aceitos" << endl;

    return 0;
}

671. DDD

#include <iostream>

using namespace std;

int main() {

    int x;
    cin >> x;
    if (x == 61) cout << "Brasilia" << endl;
    else if (x == 71) cout << "Salvador" << endl;
    else if (x == 11) cout << "Sao Paulo" << endl;
    else if (x == 21) cout << "Rio de Janeiro" << endl;
    else if (x == 32) cout << "Juiz de Fora" << endl;
    else if (x == 19) cout << "Campinas" << endl;
    else if (x == 27) cout << "Vitoria" << endl;
    else if (x == 31) cout << "Belo Horizonte" << endl;
    else cout << "DDD nao cadastrado" << endl;

    return 0;
}

662. 点的坐标

#include <iostream>

using namespace std;

int main() {

    double x, y;
    cin >> x >> y;
    if (x > 0 && y > 0) cout << "Q1" << endl;
    else if (x < 0 && y > 0) cout << "Q2" << endl;
    else if (x < 0 && y < 0) cout << "Q3" << endl;
    else if (x > 0 && y < 0) cout << "Q4" << endl;
    else if (x == 0 && y == 0) cout << "Origem" << endl;
    else if (x == 0) cout << "Eixo Y" << endl;
    else if (y == 0) cout << "Eixo X" << endl;

    return 0;
}

666. 三角形类型

// Created by lan on 2024/3/23.
// 666 三角形类型
#include <iostream>

using namespace std;

int main() {

    double a, b, c;
    cin >> a >> b >> c;
    if (b > a) {
        double t = a;
        a = b;
        b = t;
    }
    if (c > a) {
        double t = a;
        a = c;
        c = t;
    }
    if (c > b) {
        double t = b;
        b = c;
        c = t;
    }
    if (b + c <= a) cout << "NAO FORMA TRIANGULO" << endl;
    else {
        if (a * a == b * b + c * c) cout << "TRIANGULO RETANGULO" << endl;
        if (a * a > b * b + c * c) cout << "TRIANGULO OBTUSANGULO" << endl;
        if (a * a < b * b + c * c) cout << "TRIANGULO ACUTANGULO" << endl;
        if (a == b && b == c) cout << "TRIANGULO EQUILATERO" << endl;
        else if (a == b || a == c || b == c) cout << "TRIANGULO ISOSCELES" << endl;
    }

    return 0;
}

667. 游戏时间

// Created by lanys on 2024/3/23.
// 667 游戏时间
#include <iostream>

using namespace std;

int main() {

    int a, b;
    cin >> a >> b;
    if (a > b) cout << "O JOGO DUROU " << 24 - a + b << " HORA(S)" << endl;
    else if (a == b) cout << "O JOGO DUROU 24 HORA(S)" << endl;
    else if (a < b) cout << "O JOGO DUROU " << b - a << " HORA(S)" << endl;

    return 0;
}

668. 游戏时间2

// Created by lanys on 2024/3/23.
// 668 游戏时间2
#include <cstdio>

using namespace std;

int main() {

    int a, b, c, d;
    scanf("%d%d%d%d", &a, &b, &c, &d);
    int start = a * 60 + b;
    int end = c * 60 + d;
    int spent_time = end - start;
    if (spent_time <= 0) spent_time += 1440;
    printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)", spent_time / 60, spent_time % 60);


    return 0;
}

672. 税

// Created by lanys on 2024/3/23.
// 税
#include <cstdio>

using namespace std;

int main() {

    double money;
    scanf("%lf", &money);
    if (money <= 2000) printf("Isento");
    else {
        if (money > 4500) money = 1000 * 0.08 + 1500 * 0.18 + (money - 4500) * 0.28;
        else if (money > 3000) money = 1000 * 0.08 + (money - 3000) * 0.18;
        else if (money > 2000) money = (money - 2000) * 0.08;
        printf("R$ %.2lf", money);
    }


    return 0;
}

663. 简单排序

// Created by lanys on 2024/3/23.
// 简单排序
#include <iostream>

using namespace std;

int main() {

    int a, b, c;
    cin >> a >> b >> c;
    int x = a, y = b, z = c;
    if (b < a) {
        int t = a;
        a = b;
        b = t;
    }
    if (c < a) {
        int t = a;
        a = c;
        c = t;
    }
    if (c < b) {
        int t = b;
        b = c;
        c = t;
    }
    cout << a << endl << b << endl << c << endl << endl;
    cout << x << endl << y << endl << z << endl;

    return 0;
}

658. 一元二次方程公式

// Created by lanys on 2024/3/23.
// 一元二次方程公式
#include <cstdio>
#include <iostream>
#include <cmath>

using namespace std;
int main(){

    double a, b, c;
    cin >> a >> b >> c;
    double delta = b * b - 4 * a * c;
    if (delta < 0 || a == 0) printf("Impossivel calcular");
    else {
        delta = sqrt(delta);
        double x1 = (-b + delta) / (2 * a);
        double x2 = (-b - delta) / (2 * a);
        printf("R1 = %.5lf\n", x1);
        printf("R2 = %.5lf\n", x2);
    }

    return 0;
}


661. 平均数3

//
// Created by lanys on 2024/3/23.
// 平均数3
#include <cstdio>
#include <iostream>

using namespace std;

int main() {

    double a, b, c, d;
    scanf("%lf%lf%lf%lf", &a, &b, &c, &d);
    double media = (2 * a + 3 * b + 4 * c + d) / 10;
    printf("Media: %.1lf\n", media);
    if (media >= 7) cout << "Aluno aprovado." << endl;
    else if (media < 5)cout << "Aluno reprovado." << endl;
    else if (media >= 5 && media < 7) {
        cout << "Aluno em exame." << endl;
        double x;
        scanf("%lf", &x);
        printf("Nota do exame: %.1lf", x);
        media = (media + x) / 2;
        if (media > 5) cout << "Aluno aprovado." << endl;
        else cout << "Aluno reprovado." << endl;
        printf("Media final: %.1lf\n", media);
    }


    return 0;
}
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值