统计每一个字符个数.
例:
输入:abcdefgabcdeabc
输出:33322110000000
自己觉得效率不好,有什么更好方法请介绍。
#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++;}//将不和a[0]相同的字符记录下来.
else
{
k++; //统计和a[0]相同的个数
}
}
printf("%d ",k);
b[n]=0;
for(j=0;b[j]!=0;j++)
a[j]=b[j]; //写回给a
m=j; //记录不同字符的个数.
n=k=0;
l++;
}
觉得第二次循环时,if(a[0]!=a[j])这个会一直执行.m将不会改变.是否将里面的a[0]改为a[l].
for(i=0;g-l>i;i++)
printf("0 ");
printf("\n");
getch();
return 0;
}
倚天照海花无数,流水高山心自知。