洛谷-顺序结构

1.顺序结构

题目来源于洛谷

B2025 输出字符菱形

题目描述

* 构造一个对角线长 555 个字符,倾斜放置的菱形。

输入格式

没有输入要求。

输出格式

如样例所示。用 * 构成的菱形。

输入输出样例 #1

输入 #1

输出 #1
*
 ***
*****
 ***
  *

ps;通过转义字符\n可以不用多行控制格式
代码如下:

#include<iostream>
using namespace std;
int main(){
    cout<<"  *\n ***\n*****\n ***\n  *";
    return 0;
return 0;
}

P1000 超级玛丽游戏

ps:使用c++的cout<<R"()"类似于python的’‘’ ‘’'可以保持段落的空格和空行

#include<iostream>
using namespace std;
int main(){
    cout<<R"(                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###            ###
                ...........               #...#          #...#
               ##*#######                 #.#.#          #.#.#
            ####*******######             #.#.#          #.#.#
           ...#***.****.*###....          #...#          #...#
           ....**********##.....           ###            ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############)";
    return 0;
}


P5704 【深基2.例6】字母转换

题目描述

输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

ps:使用ACII码直接解决

#include<iostream>
using namespace std;
int main(){
    char input;
    cin>>input;
    int gap;//计算和'a'之间的距离
    gap=(int)(input-'a');
    cout<<(char)('A'+gap);
    return 0;
}

pps:使用cctype中的toupper函数解决

P5705 【深基2.例7】数字反转

题目描述

输入一个不小于 100100100 且小于 100010001000,同时包括小数点后一位的一个浮点数,例如 123.4123.4123.4 ,要求把这个数字翻转过来,变成 4.3214.3214.321 并输出。

输入格式

一行一个浮点数

输出格式

一行一个浮点数

输入输出样例 #1

输入 #1
123.4
输出 #1
4.321

ps:代码不是很简洁,f_back += (int)((f_initial - i_initial) * 10 + 0.5); 这一步加0.5的必要性已经解释(+0.5也可以在四舍五入的时候使用)

#include<iostream>
using namespace std;
int main() {
    float f_initial, f_back = 0;
    int i_initial, i_back = 0;
    cin >> f_initial;
    i_initial = (int)f_initial;
    f_back += (int)((f_initial - i_initial) * 10 + 0.5);
        //因为在计算机中如123.4储存方式可能是123.3999,此时转换成int就是3
        for (int i = 3; i > 0; i--) {
            i_back = i_back * 10 + i_initial % 10;
            i_initial /= 10;
        }
    f_back += (float)i_back/ 1000;
    cout << f_back;
    return 0;
}

P5708 【深基2.习2】三角形面积

题目描述

一个三角形的三边长分别是 aaabbbccc,那么它的面积为 p(p−a)(p−b)(p−c)\sqrt{p(p-a)(p-b)(p-c)}p(pa)(pb)(pc),其中 p=12(a+b+c)p=\frac{1}{2}(a+b+c)p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 111 位小数。

输入格式

第一行输入三个实数 a,b,ca,b,ca,b,c,以空格隔开。

输出格式

输出一个实数,表示三角形面积。精确到小数点后 111 位。

输入输出样例 #1

输入 #1
3 4 5
输出 #1
6.0

说明/提示

数据保证能构成三角形,0≤a,b,c≤10000\leq a,b,c\leq 10000a,b,c1000,每个边长输入时不超过 222 位小数。

ps:使用cmath中的pow( ,)函数或者sqrt函数即可


P5707 【深基2.例12】上学迟到

题目描述

学校和 yyy 的家之间的距离为 sss 米,而 yyy 以 vvv 米每分钟的速度匀速走向学校。

在上学的路上,yyy 还要额外花费 101010 分钟的时间进行垃圾分类。

学校要求必须在上午 8:00\textrm{8:00}8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。

由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。

输入格式

一行两个正整数 s,vs,vs,v,分别代表路程和速度。

输出格式

输出一个 242424 小时制下的时间,代表 yyy 最晚的出发时间。

输出格式为 HH:MM\texttt{HH:MM}HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 000

输入输出样例 #1
输入 #1
100 99
输出 #1
07:48

说明/提示

对于 100%100\%100% 的数据,1≤s,v≤1041 \le s,v \le 10^41s,v104

ps:心路历程:1.刚开始对min处理使用四舍五入,也就是有小数就向前加一,但是如果恰好是整数的测试数据就会出问题(多加1)
2.对于数据60 1的整小时情况,不分类的话就会出现6:60的情况
所以最终选择if-else大法,成功AC

#include<iostream>
using namespace std;

int main() {
    int s, v, min, hour;
    cin >> s >> v;
    if (s % v == 0)min = s / v + 10;
    else min = int(s / v) + 11;

    if (min % 60 == 0)hour = (8 - min / 60 + 24) % 24;
    else hour = (7 - (int)min / 60 + 24) % 24;

    if (min % 60 != 0)min = 60 - min % 60;
    else min = 0;

    printf("%02d%c%02d", hour, ':', min);
    return 0;


}

B2029 大象喝水

题目描述

一只大象口渴了,要喝 202020 升水才能解渴,但现在只有一个深 hhh 厘米,底面半径为 rrr 厘米的小圆桶 (hhhrrr 都是整数)。问大象至少要喝多少桶水才会解渴。

Update:数据更新,这里我们近似地取圆周率 π=3.14\pi = 3.14π=3.14

输入格式

输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 hhh 和底面半径 rrr,单位都是厘米。

输出格式

输出一行,包含一个整数,表示大象至少要喝水的桶数。

输入输出样例 #1

输入 #1
23 11

输出 #1

3

说明/提示

数据规模与约定

对于全部的测试点,保证 1≤h≤5001 \leq h \leq 5001h5001≤r≤1001 \leq r \leq 1001r100

ps:小心思全在0.9999上面了,简单实现向上取整,只要你有一点小数,我就送你加一

#include<iostream>
#define PI 3.14
using namespace std;
int main(){
    int a,b,v;
    cin>>a>>b;
    v = (int)(20000 / (PI * a * b*b) + 0.99999);
    cout << v;
    return 0;
    
}

如若侵权,私信后立刻删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值