求C++大神帮我找下错误,题目要求是统计字符串中每个字母出现的次数,并找出最多的字母及次数,在线等

#include"iostream.h"#include"stdio.h"#include"string.h"voidfreq(chars[],intp[],char&c... #include "iostream.h"
#include "stdio.h"
#include "string.h"
void freq(char s[],int p[],char &chmax,int &max)
{
int i;
strlwr(s);
for(i=0;i<=25;i++)
p[i]=0;//26个字母现在均为0个
i=0;
while(s[i]!='\0')
{
if(s[i]>='a'&&s[i]<='z')
p[s[i]-'a']++;
i++;
}
max=p[0];
for(i=0;i<26;i++)
{
if(p[i]>=max)
{
max=p[i];
chmax=i+97;
}
}
void main()
{
char s[80],chmax;
int max,p[26],i;
cout<<"输入字符串"<<endl;
gets(s);
freq(s,p,chmax,max);
for(i=0;i<25;i++)
{
if(p[i]!=0)
cout<<char(i)<<"----"<<p[i]<<endl;
}
cout<<"频率出现最高的字母:"<<chmax<<"----"<<max<<endl;
}
C:\Users\Administrator\Documents\c++\65\1453349_6_5.cpp(27) : error C2601: 'main' : local function definitions are illegal
C:\Users\Administrator\Documents\c++\65\1453349_6_5.cpp(40) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

65.exe - 1 error(s), 0 warning(s)
ps:不区分大小写
展开
 我来答
mr_shj
推荐于2016-05-07 · TA获得超过2682个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1384万
展开全部
#include "iostream.h"
#include "stdio.h"
#include "string.h"
void freq(char s[],int p[],char *chmax,int *max) //改为*
{
int i;
strlwr(s);
for(i=0;i<=25;i++)
p[i]=0;//26个字母现在均为0个
i=0;
while(s[i]!='\0')
{
if(s[i]>='a'&&s[i]<='z')
p[s[i]-'a']++;
i++;
}
*max=p[0]; // 加*
for(i=0;i<26;i++)
{
if(p[i]>=max)
{
*max=p[i]; //加*
*chmax=i+97; //加*
}
}
void main()
{
char s[80],chmax;
int max,p[26],i;
cout<<"输入字符串"<<endl;
gets(s);
freq(s,p,&chmax,&max); //加&
for(i=0;i<25;i++)
{
if(p[i]!=0)
cout<<char(i)<<"----"<<p[i]<<endl;
}
cout<<"频率出现最高的字母:"<<chmax<<"----"<<max<<endl;
}
更多追问追答
追问
可是按照你的这个改法,只是把函数的传值参数改成指针参数了,我的参数设置是没问题的,而且你可以试试把你的这个敲一下,出来的错误还是那两条:-(    
有没有更准确一点的改法?
追答
main()的前面少;号
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式