C++程序, 编写一个名为countAlpha的函数,可以输出给定的字符串中出现次数最多的字母和出现的次数
具体要求如下:(1)如果字符串为空,则输入为空的信息到屏幕。比如字符串为"\0"或""。(2)字符串不区分字母的大小写。如A和a都出现,则认为A出现了2次。(3)在主函数...
具体要求如下:
(1)如果字符串为空,则输入为空的信息到屏幕。比如字符串为"\0" 或 ""。
(2)字符串不区分字母的大小写。如A和a都出现,则认为A出现了2次。
(3)在主函数main中调用这个函数,以测试您的程序效果。 展开
(1)如果字符串为空,则输入为空的信息到屏幕。比如字符串为"\0" 或 ""。
(2)字符串不区分字母的大小写。如A和a都出现,则认为A出现了2次。
(3)在主函数main中调用这个函数,以测试您的程序效果。 展开
1个回答
展开全部
#include<iostream>
using namespace std;
void countAlpha(char *str)
{
if(str==NULL || *str=='\0')
{
cout<<"字符串为空"<<endl;
return;
}
char c= str[0];
int t=1,tc=1;
for(int i=0; i<strlen(str); i++)
{
tc=1;
for(int j=i+1; j<strlen(str); j++)
{
if(str[i] == str[j] || str[i] == str[j]-('A'-'a') ||str[i] == str[j]+('A'-'a') )
{
tc++;
}
if(tc>t)
{
c = str[i];
t = tc;
}
//相同出现次数处理没讲清楚
}
}
cout<<str<<"中字符"<<c<<"出现次数为"<<t<<";出现次数最多。\n";
}
int main()
{
char str1[]="hsdjfhjsdfHfdgfHhsdfhhH";
countAlpha(str1);
char str2[]="";
countAlpha(str2);
char str3[]="\0";
countAlpha(str3);
system("pause");
return 0;
}
测试结果如下:
有问题欢迎继续提问,望采纳!
更多追问追答
追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询