/******************************************************************
*  源程序名：ModelTask6_2_3.cpp                 　　　            *
*  功能：用自定义函数实现统计字母、数字和其他字符个数。           *
******************************************************************/
#include <iostream.h>
#define MAX 256 //最大字符串长
void charCount(char str[], int &letter, int &digit, int &others);
void main()
{
	char string[MAX];
	int letterCount,digitCount,othersCount;//字母、数字、其他字符个数
	cout<<"请输入一个字符串(长度小于"<<MAX<<"):";
	cin>>string;//字符数组可以进行整体输入
	charCount(string,letterCount,digitCount,othersCount);//调用函数
	cout<<"字母字符个数:"<<letterCount<<endl;
	cout<<"数字字符个数:"<<digitCount<<endl;
	cout<<"其他字符个数:"<<othersCount<<endl;
}
void charCount(char str[], int &letter, int &digit, int &others)
{
	int i=0;
	char c;
	letter=digit=others=0;//计数用的变量，初值置为0
	while ((c=str[i])!='\0')//用c代替str[i]，书写方便；\0为字符串结束标志
	{
		if (c>='a' && c<='z' || c>='A' && c<='Z')//对字符进行判断
			letter++;
		else if (c>='0' && c<='9')
			digit++;
		else
			others++;
		i++;//判断下一字符
	}
}