```cpp
```cpp
```cpp
#include<iostream>
#include<stdio.h>
using namespace std;
const int Max=50;
typedef class bunch
{
public:
char a[Max];
int length;
}sqString;
typedef class
{
public:
char ch;
int counts;
}Qnode;
void creat(sqString &str,char t[]);
void cout_number(sqString str,Qnode t[],int &n);
void printlist(sqString str);
int main()
{
sqString sco;
char t[30];
gets(t);
creat(sco,t);
printlist(sco);
Qnode a[30];
int n;
cout_number(sco,a,n);
int i;
for(i=0;i<=n-1;i++)
{
cout<<"字符"<<a[i].ch<<"有"<<a[i].counts<<"个"<<endl;
}
return 0;
}
void creat(sqString &str,char t[]) //创建串
{
int i=0;
while(t[i]!='\0')
{
str.a[i]=t[i];
i++;
}
str.length=i;
}
void cout_number(sqString str,Qnode t[],int &n)
{
int i=0,j=0,finds;
n=0;
while(i<str.length)
{
finds=0;
for(j=0;j<=29;j++)
{
if(t[j].ch==str.a[i])
{
t[j].counts++;
finds=1;
}
}
if(finds==0)
{
t[n].ch=str.a[i];
t[n].counts=1;
n++;
}
i++;
}
}
void printlist(sqString str)
{
int i=0;
while(i<=str.length-1)
{
cout<<str.a[i];
i++;
}
cout<<endl;
}