北大青鸟教材 c++练习题 82页 2题 怎么做啊

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:21:59
就是一时懵了 输入一行字符 分别统计出其中英文字母,空格,数字和其它字符的个数 谢谢

把字符窜放到数组里,然后
用ASCII也可以;
在头文件<cctype>里有一些函数,比如:
isalpha()//判断是不是英文字符
isspace()//判断是不是空格
isdigit()//判断是不是数字
你去看看,都有的.
程序如下:
# include <iostream>
# include <iomanip>
# include <cstdlib>
# include <cctype>
using namespace std;
int main(int argc,char* argv[])
{
const size_t Length=30;
char s[Length];
unsigned int z=0,u=0,l=0,n=0,a=0,k=0,p=0,c=0,b=0;
cout<<"Input a string:"<<endl;
cin.getline(s,Length);
for (int i=0;i<=sizeof(s);i++)
{
if (isalpha(s[i]))//是不是英文字母
z++;
if (isupper(s[i]))//是不是大写字母
u++;
if (islower(s[i]))//是不是小写字母
l++;
if (isdigit(s[i]))//是不是数字
n++;
if (isascii(s[i]))//是不是ASCII码表示
a++;
if (isspace(s[i]))//是不是空格
k++;
if (isprint(s[i]))//是不是可打印的字符
p++;
if (iscntrl(s[i]))//是不是可