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
ASCII码表完整版_ascll码值表-CSDN博客
(3)相关题目:
P8761 [蓝桥杯 2021 国 BC] 大写 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
2.未知数组的个数,已知函数,如何控制输入
cin>>N; //行数int i=0;//用i来记录输入的元素的个数
while(N--) //嵌套循环来记录行数
{while(cin>>a[i]) //输入数据{i++; //个数+1if(cin.get()=='\n')//如果读入换行符,直接跳出这行输入元素的循环break;}
}
c++中的cin.get()的用法-CSDN博客
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;
}