语法基础课——第二讲 习题

这篇博客主要介绍了C++编程的一些习题及其解答,包括倍数判断、零食价格计算、区间判断、三角形相关问题、游戏时间计算等多个算法问题。通过具体的题目和解题思路,帮助读者巩固C++的基础语法和算法应用。
摘要由CSDN通过智能技术生成
image-20210807031457384

第二讲 习题


例题


AcWing 665. 倍数

原题链接

读取两个正整数值 A A A B B B

如果其中一个是另一个的整数倍,则输出 Sao Multiplos,否则输出 Nao sao Multiplos

输入格式

共一行,两个整数 A A A B B B

输出格式

按题目所述,输出结果。

数据范围

0 < A , B < 100 0<A,B<100 0<A,B<100

输入样例:

6 24

输出样例:

Sao Multiplos

时/空限制:1s / 64MB
来源:语法题
算法标签:判断结构

yxc’s Solution

  • 判断是否有, A A A B B B 的倍数或者 B B B A A A 的倍数即可.

如果 x % y = 0 x \% y =0 x%y=0,即存在 z ∈ N + z \in \mathbf{N_+} zN+,使得 x = z × y x=z \times y x=z×y,故可以说明 x x x y y y 的倍数.

但要注意需要满足 y ≠ 0 y\not=0 y=0,因为取模是基于除法的运算,除数为 0 0 0 时则算式没有意义.

#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;
}
// 运行时间: 20 ms
// 运行空间: 216 KB 

AcWing 660. 零食

原题链接

某商店出售 5 5 5 种零食,零食编号为 1 ∼ 5 1∼5 15

5 5 5 种零食的价目表如下所示:

零食种类        价格
零食  1         R$ 4.00
零食  2         R$ 4.50
零食  3         R$ 5.00
零食  4         R$ 2.00
零食  5         R$ 1.50

现在给定某种零食的编号和数量,请你计算总价值是多少。

输入格式

输入包含两个整数 x x x y y y,其中 x x x 为零食编号, y y y 为零食数量。

输出格式

输出格式为 Total: R$ X,其中 X 为总价值,保留两位小数。

数据范围

1 ≤ x ≤ 5 , 1≤x≤5, 1x5,
1 ≤ y ≤ 100 1≤y≤100 1y100

输入样例:

3 2

输出样例:

Total: R$ 10.00

时/空限制:1s / 64MB
来源:语法题
算法标签:判断结构

yxc’s Solution

  • 先通过编号找到单价,则 总 价 值 = 单 价 × 数 量 总价值=单价 \times 数量 =×.
#include <cstdio>

int main() {
   
    int x, y;
    scanf("%d%d", &x, &y);

    double price;
    if (x == 1) price = 4;
    else if (x == 2) price = 4.5;
    else if (x == 3) price = 5;
    else if (x == 4) price = 2;
    else price = 1.5;

    printf("Total: R$ %.2lf\n", price * y);

    return 0;
}
// 运行时间: 10 ms
// 运行空间: 216 KB 

AcWing 659. 区间

原题链接

给定一个浮点数,请你判断该数字属于以下哪个区间: [ 0 , 25 ] , ( 25 , 50 ] , ( 50 , 75 ] , ( 75 , 100 ] [0,25],(25,50],(50,75],(75,100] [0,25],(25,50],(50,75],(75,100]

如果给定的数值小于 0 0 0 或大于 100 100 100,则程序输出 Fora de intervalo,表示超出范围。

开区间 ( a , b ) (a,b) (a,b):在实数 a a a 和实数 b b b 之间的所有实数,但不包含 a a a b b b

闭区间 [ a , b ] [a,b] [a,b]:在实数 a a a 和实数 b b b 之间的所有实数,包含 a a a b b b

输入格式

输入一个浮点数。

输出格式

判断输入数值位于哪个区间,按格式 Intervalo x 输出,其中 x 为区间范围 [ 0 , 25 ] , ( 25 , 50 ] , ( 50 , 75 ] , ( 75 , 100 ] [0,25],(25,50],(50,75],(75,100] [0,25],(25,50],(50,75],(75,100] 中的一个。

如果数值位于所有区间之外,则输出 Fora de intervalo

输入样例:

25.01

输出样例:

Intervalo (25,50]

时/空限制:1s / 64MB
来源:语法题
算法标签:判断结构

yxc’s Solution

#include <iostream>

using namespace std;

int main() {
   
    double x;
    cin >> x;

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

    return 0;
}
// 运行时间: 22 ms
// 运行空间: 216 KB 

AcWing 664. 三角形

原题链接

读取三个浮点数 A A A B B B C C C 并验证是否可以用它们形成三角形。

如果可能,则计算并输出三角形的周长:

Perimetro = XX.X

如果不可能,则计算并输出以 A A A B B B 为底以 C C C 为高的梯形面积:

Area = XX.X

输入格式

共一行,包含三个浮点数 A , B , C A,B,C A,B,C

输出格式

按题目描述格式,输出答案,答案保留一位小数。

数据范围

0 < A , B , C < 100.0 0<A,B,C<100.0 0<A,B,C<100.0

输入样例1:

6.0 4.0 2.0

输出样例1:

Area = 10.0

输入样例2:

6.0 4.0 2.1

输出样例2:

Perimetro = 12.1

时/空限制:1s / 64MB
来源:语法题
算法标签:判断结构

yxc’s Solution

  • 任意两边之和都严格大于第三边时,即可组成三角形;
  • 梯形的面积为 S 梯 形 = ( 上 底 +
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值