标题:想请教各位大佬问一个关于统计单词中字母出现次数的问题
只看楼主
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
结帖率:66.67%
已结贴  问题点数:20 回复次数:7 
想请教各位大佬问一个关于统计单词中字母出现次数的问题
统计一个单词中出现次数最多的字母,为啥我的程序输出0?
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char c[26]={0};char b[100];int len=strlen(b);int max,min;
    scanf("%s",b);
    for(int i=1;i++;i<=26) 
    {
        for(int j=1;j++;j<=len)           
        if(i==b[j]-'a')   c[i]++;
    }
    for(int i=0;i++;i<26)
     {
         max=min=0;
         if(c[i]>max)   max=c[i];
        if(c[i<min])   min=c[i];
     }
     printf("%d",max);
     return 0; 

 } 

搜索更多相关主题的帖子: min 单词 max int 统计 
2019-09-20 22:59
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:7 
for(i=1;i< ;i++)

2019-09-20 23:07
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
得分:0 
回复 2楼 zbjzbj
大佬,改成这样还是输出0,想不出到底哪里出了问题
#include <stdio.h>
#include <string.h>

int main()
{
    char c[26]={0};char b[100];int len=strlen(b);int max,min;
    scanf("%s",b);
    for(int i=0;i<26;i++)
    {
        for(int j=0;j<len;j++)
        if(i==b[j]-'a')   c[i]++;
    }
    for(int i=0;i++;i<26)
     {
         max=min=0;
         if(c[i]>max)   max=c[i];
        if(c[i<min])   min=c[i];
     }
     printf("%d",max);
     return 0;
 }
2019-09-20 23:24
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:0 
#include <stdio.h>
#include <string.h>

int main()
{
    int c[26]= {0};
    char b[100];
    int len,i;
    int max=0;
    scanf("%s",b);
    len=strlen(b);

    for(int j=0; j<len; j++)
        {
            i=b[j]-'a';
            c[i]++;
        }

    for(int i=0; i<26; i++)
        {
            if(c[i]>max)   max=c[i];
        }
    printf("%d",max);
    return 0;
}
2019-09-21 00:16
c小白2333
Rank: 5Rank: 5
来 自:中国
等 级:贵宾
威 望:11
帖 子:121
专家分:367
注 册:2019-6-17
得分:7 
回复 3楼 Emmaer123
4楼正解
int len = strlen(b);
这个要放在
scanf("%s", b);
的下面才行
不对b赋值 len的值一直为0
自然你的结果也就是0了

宝剑锋从磨砺出,梅花香自苦寒来。
2019-09-21 11:10
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
得分:0 
回复 4楼 zbjzbj
谢谢大佬指点
2019-09-21 14:30
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:7 
程序代码:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int a[26]={0};
int i;
char c;
while ((c=getchar())!='\n')
if (isalpha(c)) a[tolower(c)-'a']++;
for (i = 0; i<26; i++) {
printf("%c\t:\t%d\n",'a'+i,a[i]);
}
return 0;
}
2019-09-21 14:30
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
得分:0 
回复 5楼 c小白2333
确实是这个问题,感谢
2019-09-21 14:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496930-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.151895 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved