回 帖 发 新 帖 刷新版面

主题:还有这道题!!

10-34.输入字符串,请分别统计字符串中所包含的各个不同的字符及其各自字符的数量。如:
输入字符串: abcedabcdcd
则输出: a=2 b=2 c=3 d=3 e=1
#include<stdio.h>
#include<string.h>
main()
{    char a[50],b[50];
    int i,k,j,m;
    int p=0,l,u,w;
    gets(a);
    l=strlen(a);
     for(i=0;i<l;i++)
     {m=0;
         for(k=0;k<i;k++)
      if(a[i]!=a[k]) u=1 ;
      if(u==1)
        {b[p]=a[i];
         for(j=i+1;j<l;j++)
            if(a[j]==b[p])
              m++;p++;
    if(b[p-1]==a[0])  printf("字母%c的个数为:%d\n",b[p-1],m+2);    
    else  printf("字母%c的个数为:%d\n",b[p-1],m+1);}
     }
    for(i=0;i<p-1;i++)
    if(a[0]!=b[i]) w=1;
    if(w==1)  printf("字母%c的个数为:1\n",a[0]);    
}      

回复列表 (共1个回复)

沙发

这是一个相关的程序,楼主可以借鉴一下:

#include <stdio.h>
void main()
{
    char c[]="There are some words here";
    int cnt[26]={0};

    for(int i=0; c[i] ;i++)
    {
        if(c[i] >= 'A' && c[i] <= 'Z')
            cnt[c[i]-'A']++;
        if(c[i] >= 'a' && c[i] <= 'z')
            cnt[c[i]-'a']++;
    }

    printf("各个字符出现的次数为:\n");
    for(i=0; i < 26; i++)
        printf("%c/%c--%d\n ",'A'+i,'a'+i,cnt[i]);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册