字符统计
题目正文
输入一行字符串(字符串长度小于10000,由大小写字母、阿拉伯数字和空格组成),分别统计出其中大写英文字母,小写英文字母、阿拉伯数字和空格的个数。
输入
一行字符串(字符串长度小于10000,由大小写字母、阿拉伯数字和空格组成)
输出
分别输出大写英文字母,小写英文字母、阿拉伯数字和空格的个数,用空格隔开
样例
h0u84nfx 7
0 5 4 1
代码:
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
char a[10000];
gets(a);
int x=0,b=0,c=0,d=0;
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='A' && a[i]<='Z')
x++;
else if(a[i]>='a' && a[i]<='z')
b++;
else if(a[i]>='0' && a[i]<='9')
c++;
else if(isspace(a[i]))
d++;
}
cout<<x<<" "<<b<<" "<<c<<" "<<d<<endl;
}
总结
字符的统计是一道很简单的题,但是在输入的时候应该注意cin不能读入空格,所以在这里我们用char的话应该使用gets(),可以读入空格,但是不能用getline因为这个是用于string类型的,其次还有一点是不能直接写a[i]==" ",会报错应该用isspace()来判断是否含有空格。