问题 B: C语言8.21

题目描述

编写一个函数,由实参传来一个字符串,统计这个字符串中字母、数字、空格和其他字符的个数。在主函数中输入字符串,并在主函数中输出上述结果。

输入

一行字符,可能包含空格。保证字符串的长度不超过 100。

输出

分别输出这行字符中的英文字母、空格、数字和其他字符的个数,用空格隔开。
请注意行尾输出换行。

样例输入

1
What are you doing? 123456

样例输出

1
15 6 4 1

提示

答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
void count(string str){
int a(0),b(0),c(0),d(0);
for(int i=0;i<str.length();i++){
if(str[i]>='A'&&str[i]<='z') a++;
else if(str[i]>='0'&&str[i]<='9') b++;
else if(str[i]==' ') c++;
else d++;
}
cout<<a<<' '<<b<<' '<<c<<' '<<d<<endl;
}
int main(){
string s;
getline(cin,s);
count(s);
}