不是满足下面的样式嘛:
输入:abcdefgabcdeabc//字母串
输出:333221100000000//第一位置代表a出现的次数,第二个位置代表b出现的次数...以此类推?
unicorn-h.spaces. ◇◆ sava-scratch.spaces. noh enol ! pue pu!w hw u! shemle aq ll!m noh
#include<stdio.h>
#include<string.h>
#define N 30
void main()
{
char c[N];
scanf(\"%s\",c);
int a[26]={0};
for(int k=0;c[k]!='\0';k++)
for(int i=0;i<26;i++)
if(c[k]=='a'+i||c[k]=='A'+i)
a[i]++;
for(int j=0;j<26;j++)
printf(\"%d\",a[j]);
putchar(10);
}
统计每一个字符个数.
例:
输入:abcdefgabcdeabc
输出:333221100000000
自己觉得效率不好,有什么更好方法请介绍。
#include<conio.h>
#include<stdio.h>
int main()
{
char a[80],b[80];
int i,j,k=0,n=0,m,l=0,g;
gets(a);
for(i=0;a[i]!=0;i++);
g=m=i;
while(m!=0)
{
for(j=0;j<m;j++)
{
if(a[0]!=a[j])
{b[n]=a[j];n++;}
else
{
k++;
}
}
printf("%d",k);
b[n]=0;
for(j=0;b[j]!=0;j++)
a[j]=b[j];
m=j;
n=k=0;
l++;
}
for(i=0;g-l>i;i++)
printf("0");
printf("\n");
getch();
return 0;
}
你可以运我程序看看吧!
第一行是任意字符..
第二行是任意字符出现个的个数。
主要是前面,而后面想做也不错。
(顺序如何排列?ASCII表的顺序?)
说实在话,我没看懂楼主的输出.后面的0是表示什么的个数.难道是统计完之后,后面补0填充.
比如输入:abcdgsfdjhdfhdfjdssk.
然后输出什么?如果是只是统计小写字母出现的次数,如果是没有出现的就用0填充的话,应该也不是很难.
a[26]={0};
while((c=getchar())!='\n')
{
a[c-'a']++;
}
for(i=0;i<26;i++)
{
printf("%d"a[i]);
}