写了个任意长度的字符不分大小写排序,不过有点长.
#include"stdio.h"
#include"stdlib.h"
main()
{ int i,j;
int n=0;
char *s,*p;
char temp;
printf("input the string:");
gets(s);
p=s;
while(*p!='\0')
{ n++;
p++;
}
p=s;
for(i=0;i<n-1;i++)
{ for(j=i+1;j<n;j++)
{ if(*(p+i)>'A'&&*(p+i)<'Z')
{ if(*(p+j)>'A'&&*(p+j)<'Z')
{if(*(p+i)>*(p+j))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
else
{ if((*(p+i)+32)>*(p+j))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
else
{
if(*(p+j)>'a'&&*(p+j)<'z')
{if(*(p+i)>*(p+j))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
else
{ if(*(p+i)>(*(p+j)+32))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
}
}
puts(s);
getch();
}
#include"stdio.h"
#include"stdlib.h"
main()
{ int i,j;
int n=0;
char *s,*p;
char temp;
printf("input the string:");
gets(s);
p=s;
while(*p!='\0')
{ n++;
p++;
}
p=s;
for(i=0;i<n-1;i++)
{ for(j=i+1;j<n;j++)
{ if(*(p+i)>'A'&&*(p+i)<'Z')
{ if(*(p+j)>'A'&&*(p+j)<'Z')
{if(*(p+i)>*(p+j))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
else
{ if((*(p+i)+32)>*(p+j))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
else
{
if(*(p+j)>'a'&&*(p+j)<'z')
{if(*(p+i)>*(p+j))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
else
{ if(*(p+i)>(*(p+j)+32))
{ temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
}
}
puts(s);
getch();
}
浙公网安备 33010602011771号