蓝桥杯-洛谷刷题-day1(C++)

目录

题目

积累到的知识

代码


题目

积累到的知识

1.除法

c = a / b

对于除法的接收者的数据类型,

· c为double 时,如果a,b也是double,c的值就是正常除法的值;如果a,b为int,c的值就是a/b向下取整。

· c为int 时,无论a,b如何,都会向下取整。

我的理解是,a/b的除法会根据a,b的类型进行对应的操作,返回的值,传给c 会再根据c 的类型进行进一步的运算。

2.向上取整

int a,b,c;

c = (a/b + 1);//这理论上,确实成功向上取整,但是在大额数据运算时,会出现问题,具体情况,俺也不知道。

//标准向上取整,运用ceil函数(在cmath库中)

#include<cmath>

c = ceil(a/b);

3.计算一个数a中最多可以拿出多少(x)个数b(求x)

x = a / b;//正如100 / 10 = 10一样,100里有10个10.

4.计算一个数a中拿出x个数b后,还剩余多少

a = a % b;//4%2==0、5%2==1...取余很神奇;此法还可以用来进行十进制转八进制等运算,先%后/,依次循环,知道/ 完结果为0为止,此时的所有余数,用字符串+号运算,第一个余数为最高位,依次连接,即得转换后的结果

5.个位数,以"07"之类的双位数输出

#include<iomainip>

int a = 7;

cout << setw(2) << setfill('0') << a << endl;

setw()操纵器,设置接下来输出的字段的宽度。

setfill()操纵器,设置接下来输出的字段,如果有空缺(即有效宽度小于设置的宽度),就用指定字符来填充,如果没有甚至超出,则不做处理。

上文两操纵器的位置顺序可以颠倒,但必须出现在输出字符之前。

特殊说明,

cout << setfill('0') << setfill('!') << setw(2) << a << endl << setw(2) << setfill('#') << b;

下文输出结果为

!7

#8

由此,可以明了,代码执行,先将填充符设为'0',之后,又改为'!',输出字段,填充符置空,之后,又被设为'#',输出字段,填充符再置空。

setw也是同理。

对于宽度和填充符的设置都是一次性可修改的,用完(即输出字段后)即置空。

注:不设置填充符,空缺位置就会空缺。

代码

cpp 复制代码
#include <iostream>  
#include <iomanip>  
#include <cmath>
using namespace std; 
int main()
{
    //计算路程时间s/v,输入s,v,计算,除法计算需要结果+1,最后再加上10
    double s,v;
    cin >> s >> v;
    int t;
    t = ceil(s/v) + 10;
    
    int hours = 7; // 固定小时为 7,从7:60开始  
    int minutes = 60 - t % 60; // 取余得到分钟  
    hours -= t / 60; // 整除得到小时数(可能超过 7) 
    
    //如果小时为负数
     while(hours < 0)
    {
        hours = 24 + hours;
    }

     // 输出格式化为 HH:MM  
    cout << setw(2) << setfill('0') << hours << ":"   
         << setw(2) << setfill('0') << minutes << endl;  
  
    return 0;
}

值得一提的是,题目中给出的测试样例是错的(应该是07:49).

相关推荐
芝士爱知识a7 小时前
2026年AI面试软件推荐
人工智能·面试·职场和发展·大模型·ai教育·考公·智蛙面试
石去皿8 小时前
大模型面试通关指南:28道高频考题深度解析与实战要点
人工智能·python·面试·职场和发展
程序员辣条8 小时前
AI产品经理:2024年职场发展的新机遇
人工智能·学习·职场和发展·产品经理·大模型学习·大模型入门·大模型教程
AI大模型测试8 小时前
大龄程序员想转行到AI大模型,好转吗?
人工智能·深度学习·机器学习·ai·语言模型·职场和发展·大模型
美团程序员8 小时前
80道经典常见测试面试题
软件测试·面试·职场和发展·软件测试面试
sunguang20188 小时前
“懂不懂管理,一看便知”:做管理就是3件事,抓大、放小、管细做管理,其实就是要做好三件事:抓大、放小、管细。
经验分享·职场和发展
ProcessOn官方账号8 小时前
程序员如何与同龄人拉开差距?这5张让你快速提升认知,打开格局!
深度学习·职场和发展·学习方法
阿福赚美刀8 小时前
跨境电商公司如何高效培养新人:实战经验分享
职场和发展·电脑
哲伦贼稳妥8 小时前
职场发展-遇到以下情况请直接准备后手吧
运维·经验分享·其他·职场和发展
测试秃头怪8 小时前
面试大厂就靠这份软件测试八股文了【含答案】
自动化测试·软件测试·python·功能测试·面试·职场和发展·单元测试