题目大致的意思是这样的:输入一段字符串,输出每个字母以及它们出现的次数,重复字母只输出一次。
例如:输入AAABBB
输出A3B3
程序如下:
#include<stdio.h>
#include<string.h>
#define M 100
void eval(char *p, int );
int main()
{
int length;
char str[M];
scanf("%s", str);
length = strlen(str);
eval(str, length);
printf("
");
return 0;
}
void eval(char *p, int length)
{
int i, j, k;
for(i=0; i<length; i++)
{
if(p[i])
{
int a = 1;
for(j=i+1; j<length; j++)
{
if(p[i]==p[j])
{
p[j] = 0;//设置标识,只要相同的字母,除了第一次出现,其他出现的位置都置0,然后加上if判断,防止重复输出。
a++;
}
}
printf("%c%d", p[i], a);
}
}
}