#include <stdio.h>
#include <stdlib.h>
char *resort(char *a)
{
char *end,*start,*j,*min,t;
start=a;
while(*a++!='\0');
end=a-1;
a=start;
for(;a<=end-1;a++)
{
for(j=a,min=a;j<=end-1;j++)
{
if(*min>*(j+1)) min=j+1;
}
if(min!=a)
{
t=*a;
*a=*min;
*min=t;
}
}
return start;
}
int main()
{
char a[100];
gets(a);
puts(resort(a));
return 0;
}
uj5u.com熱心網友回復:
修改如下,供參考:#include <stdio.h>
#include <stdlib.h>
char *resort(char *a)
{
char *end,*start,*j,*min,t;
start=a;
while(*start++!='\0');
end=start-1;
start=a;
for(;start<end;start++)
{
for(j=start,min=start;j<end-1;j++)
{
if(*min>*(j+1)) min=j+1;
}
if(min!=start)
{
t=*start;
*start=*min;
*min=t;
}
}
return a;
}
int main(int argc, char* argv[])
{
char a[100];
gets(a);
puts(resort(a));
system("pause");
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/234525.html
標籤:新手樂園
上一篇:求解這一道題
