#include <stdio.h>
#include <string.h>
void fun(char *pi, char *po);//选出顺序字符
void paixu(char *str);//冒泡排序,由小到大
int main()
{
char str[]="abaceB78D^&";
char buf[15];
paixu(str);
printf("%s\n",str);
fun(str,buf);
puts(buf);
}
void fun(char *pi, char *po)
{
int i;
char *p;
p=pi;
while(*p)
{
if((*p>='A')&&(*p<='Z'))
{
*po=*p;
po++;
}
p++;
}
p=pi;
while(*p)
{
if((*p>='a')&&(*p<='z'))
{
*po=*p;
po++;
}
p++;
}
p=pi;
while(*p)
{
if((*p>='0')&&(*p<='9'))
{
*po=*p;
po++;
}
p++;
}
p=pi;
while(*p)
{
if((*p<'0' ||*p >'9')&&(*p<'a'|| *p>'z')&&(*p<'A'|| *p>'Z'))
{
*po=*p;
po++;
}
p++;
}
po='\0';
}
void paixu(char *str)
{
char tmp;
int i,j;
int n;
n=strlen(str);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(str[j]>str[j+1])
{
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
}
#include <string.h>
void fun(char *pi, char *po);//选出顺序字符
void paixu(char *str);//冒泡排序,由小到大
int main()
{
char str[]="abaceB78D^&";
char buf[15];
paixu(str);
printf("%s\n",str);
fun(str,buf);
puts(buf);
}
void fun(char *pi, char *po)
{
int i;
char *p;
p=pi;
while(*p)
{
if((*p>='A')&&(*p<='Z'))
{
*po=*p;
po++;
}
p++;
}
p=pi;
while(*p)
{
if((*p>='a')&&(*p<='z'))
{
*po=*p;
po++;
}
p++;
}
p=pi;
while(*p)
{
if((*p>='0')&&(*p<='9'))
{
*po=*p;
po++;
}
p++;
}
p=pi;
while(*p)
{
if((*p<'0' ||*p >'9')&&(*p<'a'|| *p>'z')&&(*p<'A'|| *p>'Z'))
{
*po=*p;
po++;
}
p++;
}
po='\0';
}
void paixu(char *str)
{
char tmp;
int i,j;
int n;
n=strlen(str);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(str[j]>str[j+1])
{
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
}