1.小写和大写转换
(1)相关函数
C++ 头文件「ctype.h」里的:isalpha、islower、isupper、isalnum等函数_c++ isalpha-CSDN博客
- isalpha()用来判断一个字符是否为字母
- isalnum用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~ z||A~ Z||0~9。
- isdigit() 用来检测一个字符是否是十进制数字0-9
- islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。
- isupper()和islower相反,用来判断一个字符是否为大写字母
以上如果满足相应条件则返回非零,否则返回零。
- int toupper(int c);//参数c为待转换的字符
- int tolower(int c);
toupper()函数:若参数c是小写字母,则返回相应的大写字母;若参数c不是小写字母,则返回参数c的值
tolower()函数:若参数c是大写字母,则返回相应的小写字母;若参数c不是大写字母,则返回参数c的值
包含在头文件 #include <ctype.h>
(2)ASCII码
0~9 ASCII值:48~57
A~Z ASCII值:65~90
a~z ASCII值:97~122
(3)相关题目:
P8761 [蓝桥杯 2021 国 BC] 大写 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
2.未知数组的个数,已知函数,如何控制输入
cin>>N; //行数
int i=0;//用i来记录输入的元素的个数
while(N--) //嵌套循环来记录行数
{
while(cin>>a[i]) //输入数据
{
i++; //个数+1
if(cin.get()=='\n')//如果读入换行符,直接跳出这行输入元素的循环
break;
}
}
3.如何从字符串日期转换成十进制数
输入
Feb08
d=int(st[3]-48)*10+int(st[4]-48);
利用ASCII码值来转换+int强制类型转换
(1)题目
P8722 [蓝桥杯 2020 省 AB3] 日期识别 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
(2)代码
#include<bits/stdc++.h>
using namespace std;
string a[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
int main()
{
int m=0,d=0;
string st,month="";
cin>>st;
month=st.substr(0,3);
for(int i=0;i<12;i++){
if(month==a[i]){
m=i+1;
break;
}
}
d=int(st[3]-48)*10+int(st[4]-48);
cout<<m<<' '<<d;
}
4.小于等于x(大于0)的奇数有多少个
(x+1) /2 注意括号
题目:P9231 [蓝桥杯 2023 省 A] 平方差 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)