#include "stdio.h"
#include "string.h"
int Strcmp(const char *p1,const char *p2){
char c1,c2;
do{
c1=*p1;
c2=*p2;
if(c1=='-' || c1=='+'){
c1=1;
}
if(c2=='-' || c2=='+'){
c2=1;
}
}while(c1 && c1==c2);
return c1-c2;
}
void sort(char ** p){
int i,j,k;
for(i=0;i<4-1;i++){
k=i;
for(j=i+1;j<4;j++){
//printf("%c %s\n",*(*(p+k)),(*(p+k)+1));
if(Strcmp(*(p+k),*(p+j))>0){
k=j;
}
}
//printf("***************\n");
if(i-k){
char * t=*(p+i);
*(p+i)=*(p+k);
*(p+k)=t;
}
}
}
int main(int argc, char *argv[]){
//char * p[3]={"-21","7","82"};
char * p[4]={"-21","7","82","1"};
int i;
sort(p);
for(i=0;i<4;i++){
printf("%s",*(p+i));
}
return 0;
}
|