求教 有错误运行不出结果来
#include <iostream.h>char Caps(char ch)
{
if (ch>='A' && ch<='Z')
return ch+32;
else
return ch;
}
void count(int *a, char *s)
{
while (s) a[*s++ - 97]++;
}
void swap(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
void swap(char &x,char &y)
{
char temp=x;
x=y;
y=temp;
}
void sort(int *a, char *b,int n)
{
int i,j;
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if(a[i]<a[j])
{
swap(a[i],a[j]);
swap(b[i],b[j]);
}
}
void print(int *a,char *b,int n)
{
int i;
for(i=0;i<n;i++)
cout<<b[i]<<":"<<a[i]<<endl;
}
void main()
{
int i,pm[26];
char ch[26];
char s[201];
cin>>s;
cout<<s<<endl;
for (i=0;i<26;i++)
{
pm[i]=0;
ch[i]=i+'a';
}
count(pm,s);
sort(pm,ch,26);
print(pm,ch,26);
}
这个统计字母使用频率的程序编译完了都没错误,就是运行不了 ,诚信求教