写一个算法,在输入字符串中查看任意字符出现的频度(字符串中的合法字符为大写字母、小写字母与数字)

#include <iostream>
using namespace std;
int main()
{
	int A[62]={0};
	char ch;char c;
	cout<<"请输入一个字符串,由大写字母小写字母与数字组成,以'#'结尾:"<<endl;
	while(ch!='#')
	{
		cin>>ch;
		//数组中的前10个位置存储0~9出现的次数,紧跟着的26个存储count~Z出现的次数,再26个存储count~z出现的次数
		//利用字符的countSCII码值和其规定位置的关系,确定其数组下标
		if(ch>='0'&&ch<='9')A[ch-'0']++;
		else if(ch>='A'&&ch<='Z')A[ch-'A'+10]++;
		else if(ch>='a'&&ch<='z')A[ch-'a'+36]++;
	}
	while(c!='#')//利用循环,反复查看
	{
		cout<<"请输入需要查看的字符(输入'#'结束):"<<endl;
		cin>>c;
		if(c>='0'&&c<='9')cout<<c<<"出现了"<<A[c-'0']<<"次"<<endl;
		else if(c>='A'&&c<='Z')cout<<c<<"出现了"<<A[c-'A'+10]<<"次"<<endl;
		else if(c>='a'&&c<='z')cout<<c<<"出现了"<<A[c-'a'+36]<<"次"<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42451835/article/details/83988672
今日推荐