1014:cctype中的isdigit()与isalpha()问题。
cctype中的字符函数
函数名称 | 返回值 |
isalnum() | 如果参数是字母数字,即字母或者数字,函数返回true |
isalpha() | 如果参数是字母,函数返回true |
isblank() | 如果参数是水平制表符或空格,函数返回true |
iscntrl() | 如果参数是控制字符,函数返回true |
isdigit() | 如果参数是数字(0-9),函数返回true |
isgraph() | 如果参数是除空格之外的打印字符,函数返回true |
islower() | 如果参数是小写字母,函数返回true |
isprint() | 如果参数是打印字符(包括空格),函数返回true |
ispunct() | 如果参数是标点符号,函数返回true |
isspace() | 如果参数是标准空白字符,如空格、换行符、水平或垂直制表符,函数返回true |
isupper() | 如果参数是大写字母,函数返回true |
isxdigit() | 如果参数是十六进制数字,即0-9、a-f、A-F,函数返回true |
tolower() | 如果参数是大写字符,返回其小写,否则返回该参数 |
toupper() | 如果参数是小写字符,返回其大写,否则返回该参数 |
用字符数组if else分支语句 更加简洁明了,如A——G分别代表周一至周日,可直接存储至string week[7]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
string week[7]={"MON ","TUE ","WED ","THU ","FRI ","SAT ","SUN "};---------------<<<<输出空格时可以直接写在字符数组中
if-else 的判断语句可以用三目运算符代替: int m = isdigit(t[1])?t[1]-'0':t[1]-'A'+10;
%d 是输出十进制整数 d是decimal的缩写
%2d要求输出数据为两位,大于两位则原样输出
%m.ns:输出字符串,m指定输出宽度,n表示字符串的前n个字符输出到屏幕,如果m>n则需要补空格,例如%5.3s表示输出宽度是5,而字符实际只输出3个则需要补空格2个
%m.nf:m表示找整个浮点数输出宽度,n表示小数输出的宽度。例如%5.2f 输出一个58.6238,
那么实际输出的是58.62,注意了,m是整个数据要输时候的宽度。
%02d:默认情况下,数据数据宽度不够2位是用空格填补的,但是因为2d前面有0,表示,数据宽度不足时用0填补,例如%03d输出 12,那么实际输出到屏幕的是012.
核心部分:
%2d要求输出数据为两位,大于两位则原样输出,小于两位则补空格