C++ 学习笔记(牛客)
字符串大小写转换(1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void mytolower(string& s){ int len=s.size(); for ( int i=0;i<len;i++){ if (s[i]>= 'A' &&s[i]<= 'Z' ){ s[i]+=32; //+32转换为⼩写 //s[i]=s[i]-'A'+'a'; } } } void mytoupper(string& s){ int len=s.size(); for ( int i=0;i<len;i++){ if (s[i]>= 'a' &&s[i]<= 'z' ){ s[i]-=32; //+32转换为⼩写 //s[i]=s[i]-'a'+'A'; } } } |
字符串大小写转换(2)运行较慢
1 2 | #include <ctype.h><br>a = toupper(a) b = tolower (b) //char a, b |
字符串大小写转换(3)运行较慢
1 2 | string s = "ABCDEFG" ; transform(s.begin(),s.end(),s.begin(),:: tolower ); |
统计字符串中某个字符的个数
1 | int size = count(a.begin(), a.end(), b); //string a, b; |
判断一个字符是否为字母
1 2 3 | #include <ctype.h> int result = isalpha ( '' ); //功能:如果参数是字母字符,函数返回非零值,否则返回零值。 |
char与string转换
C++中char类型可以自动转换成string类型,即你可以用char类型字符串直接给string类型变量赋值。但反过来是不行的,string类型不能隐式的将string类型转换成char类型,想要转换,必须显式调用c_str()函数。
1 2 3 4 5 6 | string s1; const char *pc = "a character array" ; s1 = pc; // ok char *str = s1; // 编译时刻类型错误 const char *str = s1.c_str(); // ok |
char转int
1 2 3 | char a= '2' int b = a - '0' cout<<a-1<< ' ' <<b; //输出 49 2 //‘2’的ASCII为50 |
string中的insert()函数用法
1 2 3 4 5 6 7 8 9 | string str= "hello" ; string s= "Hahah" ; str.insert(1,s); //在原串下标为1的字符e前插入字符串s cout<<str<<endl; string str1= "hello" ; char c= 'w' ; str1.insert(4,5,c); //在原串下标为4的字符o前插入5个字符c cout<<str1<<endl; |
四舍五入思路:加0.5取整
数组初始化为0
1 | int a[100] = {0}; //a[0] = 0,其余元素默认用0填充 |
十进制转二进制
#include <bitset> std::bitset<N> bitset2(value); // 使用二进制整数 value 初始化一个长度为 N 的 bitset
下面是 std::bitset 类型的一些常用操作:
- size() 返回 std::bitset 的长度
- count() 返回 std::bitset 中值为 1 的位的数量
- any() 返回 std::bitset 中是否存在值为 1 的位
- none() 返回 std::bitset 中是否所有位都是 0
- all() 返回 std::bitset 中是否所有位都是 1
- test(pos) 返回 std::bitset 中位于 pos 位置的值
- set(pos) 将 std::bitset 中位于 pos 位置的值设为 1
- reset(pos) 将 std::bitset 中位于 pos 位置的值设为 0
- flip(pos) 将 std::bitset 中位于 pos 位置的值取反
- to_ulong() 返回 std::bitset 转换成的无符号整数值
- to_ullong() 返回 std::bitset 转换成的无符号长整数值
作者:HaijianYang
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理