当前位置: 首页 > article >正文

C++算法基础语法-13

计算从某年某月某日到某年你某日的分钟数

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int flag=0,answer=0;
    for(int year = 2000; year <=2025; year++)
    {
        for(int month = 1; month <= 12; month++)
        {
            for(int day = 1; day <= 31; day++)
            {
                if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
                {
                   
                    if(day > 31) break;
                }
                else if(month == 2)
                {
                    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
                    {
                        if(day > 29) break;
                    }
                    else
                    {
                        if(day > 28) break;
                    }
                }
                else
                {
                    if(day > 30) break;
                }
                if(year==2018&&month==4&&day==21) 
                {
                    flag=1;
                }
                if(flag==1) answer+=24*60;
                if(year==2024&&month==6&&day==15)
                {
                    cout<<answer;
                    break;
                }
            }
        }
    }
    return 0;
}

 

ASCII码值、字母大小写转换、'0'~'9'

数字转字符:'A'(65) 'a'(97) '0'(48)
char A = char(65);
char a = char(97);
char c = 'a' + 2; // 'c' = 'a' + 2
char seven = '0' + 7; // '7' = '0' + 7

字符转数字
int a = 'a'; // a: 97
int A = 'A'; // A: 65
int t = 't' - 'a'; // 计算字母间差值
int seven = '7' - '0';

所谓字典序就是以ASCII码排序

两个字符串 abcd 和 abdd 比较大小,从第一个字符开始逐位比较,第一个字符不相等, ASCII码值小谁的字典序就小;若第一个相等,继续逐位比较后续字符

sort() 可以对字符串进行字典序排序,字符按ASCII码值由小到大排列

#include <iostream>
#include <algorithm> // 包含 sort 函数
#include <string>
using namespace std;
int main() {
   string str = "cbad";
   cout << "原始字符串: " << str << endl;
   sort(str.begin(), str.end());
   cout << "排序后的字符串: " << str << endl;
    return 0;
}

浮点数比较相等

C/C++内置的double类型由相应的二进制存储的,double在计算的时候是会可能丢失精度的,最后进行浮点数比较的时候要注意做一个fabs,检查两个数的差的绝对值是否小于一个很小的正数(称为“epsilon”或“精度阈值”),如果小于这个阈值,就认为这两个数是相等的

#include <iostream>
#include <cmath> // 包含 fabs 函数
using namespace std;
bool compareDouble(double a, double b) {
    double epsilon = 1e-6; // 注意精度,默认是1e-6, epsilon代表比较时允许的最大误差
    if (fabs(a - b) < epsilon) 
    return true;
    return false;
}
int main() {
    double num1 = 0.0000001;
    double num2 = 0.0000002;
    double num3 = 0.0000001 + 1e-10; 

    // 比较 num1 和 num2
    if (compareDouble(num1, num2))
    {
        cout << "num1 和 num2 相等" << endl;
    } else 
    {
        cout << "num1 和 num2 不相等" << endl;
    }
    if (compareDouble(num1, num3)) 
    {
        cout << "num1 和 num3 相等" << endl;
    } else 
    {
        cout << "num1 和 num3 不相等" << endl;
    }
    return 0;
}


http://www.kler.cn/a/561314.html

相关文章:

  • 朝天椒 USB 服务器解决投标CA盾异地连接
  • 微信小程序组件封装与复用:提升开发效率
  • SQL注入(order by,limit),seacms的报错注入以及系统库的绕过
  • 娛閑放鬆篇3
  • 实战-网安
  • Python入门 — 函数
  • python的异步日志处理
  • 手机APP开发4-图片
  • HTML5特殊字符
  • Gemma2DecoderLayer 解析:Pre-FFW 和 Post-FFW LayerNorm 的作用
  • DDR3模块、HDMI、晶振的布局原则
  • 山东大学软件学院nosql实验二
  • 解决鼠标唤醒关屏状态下的笔记本
  • 开源嵌入式实时操作系统uC/OS-II介绍
  • 学习笔记--电磁兼容性EMC
  • DeepSeek 15天指导手册——从入门到精通 PDF(附下载)
  • Figure自研模型Helix发布,人形机器人迈向新纪元?
  • C++程序员内功修炼——Linux C/C++编程技术汇总
  • 如何实现使用DeepSeek的CV模型对管道内模糊、低光照或水渍干扰的图像进行去噪、超分辨率重建。...
  • 解锁Redis的深层能力:事务与消息队列的最佳实践