CCTYPE函数系列

C++中应该是#include
c中应该是#include <ctype.h>
以下为字符库中常用的函数

函数名称 返回值
isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
isalpha() 如果参数是字母,该函数返回真
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() 如果参数是小写字母,则返回其大写,否则返回该参数

常用的有:

tolower()————toupper()
isupper()————islower()
isalnum()————isalpha()

1.编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字母转换为小写,将小写字母转换为大写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <cctype>

int main()
{
using namespace std;
cout << "Please enter: \n";
char ch;
cin.get(ch);

while(ch!='@')
{
if(isdigit(ch))
cin.get(ch);
else
{
if(islower(ch))
ch=toupper(ch);
else
ch=tolower(ch);
cout<<ch;
cin.get(ch);
}
}
return 0;
}

等价

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
char ch;
cout << "Please enter: \n";

while(cin.get(ch) && ch!='@')
{
if(islower(ch))
{
ch = toupper(ch);
cout << ch;
}
else if(isupper(ch))
{
ch = tolower(ch);
cout << ch;
}

}
return 0;
}

2.编写一个程序,最多将10个donation值读入到一个double数组中。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中多少个数字大于平均值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
double sum=0,average=0;
double num[10];
int i=0,total=0;
cout <<"Please enter: \n";
double temp;
while(cin>>temp&&i<9&&!isdigit(temp))
{
num[i]=temp;
sum+=num[i];
++i;
}

if(i!=0)
average=sum/i;
for(int j=0;j<i;++j)
if(num[j]>average)
++total;
cout<<"这些数字的平均值为:"<<average<<endl;
cout<<"并且共有"<<total<<"个数字大于平均值。\n";

return 0;
}

本文标题:CCTYPE函数系列

文章作者:water

发布时间:2018年07月19日 - 09:10:17

最后更新:2018年07月19日 - 10:24:13

原始链接:http://9cat.top/2018/07/19/CCTYPE函数系列/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

------ 本文结束------
分享
分享