#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 1000
void Sort(char *);
void Swap (char *,char *);
void Statistics(char *ptr);
int main (void){
char arr[SIZE];
printf ("输入字符:\n\n");
fgets(arr,SIZE,stdin);
fflush(stdin);
Sort(arr);
printf ("\n从小到大排序字符窜:\n");
printf ("\n%s\n",arr);
Statistics(arr);
exit(0);
}
/*统计函数*/
void Statistics(char *ptr){
int i,j,t=1;
char ch;
i=0;
j=i+1;
while (ptr[i]!='\0'){
ch=ptr[i];
t=1;
for (;ptr[i]==ptr[j];t++)
j++;
printf ("\n字符\'%c\'共有%d个.\n",ch,t); //输出遇到换行,表示回车('\n')或换行('\r')符
i=j;
j=i+1;
}
return ;
}
/*排序函数(从小到大)*/
void Sort (char *pt){
unsigned int i,j;
for (i=0,j=i+1;pt[j]!='\0';){
if (pt[i]<=pt[j])
j++ ;
else
Swap(pt+i,pt+j);
if (pt[j]=='\0'){
i++;
j=i+1;
}
}
return ;
}
/*交换值函数*/
void Swap(char *ptr,char *poi){
char temp;
temp=*ptr;
*ptr=*poi;
*poi=temp;
return ;
}