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
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.编写一个程序,最多将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
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;
}