从键盘输入1行字符串(每行最多输入80个字符),
统计字符串中所包含的各个英文小写字符及其对应的数量。
**输入格式要求:不要有任何提示信息,直接输入1行字符。
**输出格式要求:按字母顺序输出统计结果,"%c=%d\n"
每行输出一个字母的统计信息。
如果某个字母没有出现,则不输出该字母的统计信息。
如:输入字符串:
abc2ed a7bcdcd
则输出:
a=2
b=2
c=3
d=3
e=1
#include <stdio.h>
#include <string.h>
int main()
{
int i,j=0,k=0,m=0;
char s[80];
char a[80];
char c[80];
int d[80]={0};
char temp;
gets(s);
int n;
n=strlen(s);
for(i=0;i<n;i++)
{
if(s[i]>='a'&&s[i]<='z')
{
a[m++]=s[i];
}
}
for(i=0;i<m;i++)
{
for(j=i+1;j<m;j++)
{
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
c[k]=a[0];
d[k]=1;
for(i=1;i<m;i++)
{
if(a[i]!=c[k])
{
k++;
c[k]=a[i];
d[k]++;
}
else
{
d[k]++;
}
}
for(i=0;i<=k;i++)
{
printf("%c=%d\n",c[i],d[i]);
}
}
#include <stdio.h>
#define BUFFER_SIZE 80
#define COUNT_SIZE 26
main( )
{
char str[BUFFER_SIZE+1]; //2
int count[COUNT_SIZE]={0}; //2
int i = 0;
gets(str); //2
for(i=0; str[i]!='\0'; i++) //1
{
if((str[i]>='a') && (str[i]<='z')) //2
count[str[i]-'a']++; //4
}
for(i=0; i<COUNT_SIZE; i++) //1
{
if(count[i]>0) //1
{
printf("%c=%d\n", i+'a', count[i]); //2
}
}
}