弄了半个晚上,弄个半成品,扫描字符串,并打印每个字符出现的频率
#include<stdio.h>#include<string.h>
void move(char *b,int benpos,int destpos)
{
int c1=0,i;
char *c;
c=b;
c1=strlen(b)-destpos+1;
b+=benpos-1;
c+=destpos-1;
for(i=0;i<c1;i++)
{
*b=*c;
b++;
c++;
}
*b='\0';
}
int main()
{
int t[256];
int cnum[256];
int i=0,j=0,k=0,l=0,len=0;
for(i=0;i<256;i++)
{
t[i]=int('\0');
cnum[i]=int('\0');
}
char s[]="aabsscdfaeddfcxg";
while(1)
{
if(s[0]=='\0')
{
break;
}
t[j]=s[0];
len=strlen(s);
k=0;
while(1)
{
if(s[k]==t[j])
{
move(s,k,k+1);
l++;
}
if(s[k]==t[j])
{
k=0;
}
else
{
k++;
}
if(s[k]=='\0')
{
break;
}
cnum[j]=l;
}
j++;
l=0;
}
i=0;
while(1)
{
if(t[i]=='\0') break;
printf("字符%c的个数是%d\n",t[i],cnum[i]);
i++;
}
return 0;
}
之所以说半成品,就是结果不对,没重复的还好,有重复的就弄不准
有时间的大侠帮我看看 没时间等我有空继续研究
[ 本帖最后由 wp231957 于 2012-11-11 22:28 编辑 ]