1327 - C语言程序设计教程(第三版)课后习题8.9

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

编写一函数count,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。

题目输入

一行字符串

题目输出

统计数据,4个数字,空格分开。

输入/输出样例

输入格式

!@#$%^QWERT    1234567

输出格式

5 7 4 6

C++解答

#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int Let=0,Dig=0,Spa=0,Oth=0;
void solve(string s)
{
	int len=s.size();
	for (int i=0; i<len; i++)
		if (isalpha(s[i])) Let++;
		else if (isdigit(s[i])) Dig++;
		else if (s[i]==' ') Spa++;
		else Oth++;
}
int main()
{
	string s;
	getline(cin,s);
	solve(s);
	cout<<Let<<" "<<Dig<<" "<<Spa<<" "<<Oth<<" "<<endl;
	return 0;
}