chucky3   10달 전

정말 간단한 것 같으면서도 계속 틀리네요.. 문제를 잘못이해하고있는걸까요?

뒤집으면서 정렬이 되는것 같은데요 역정렬,정렬 맞나요??...

하...도와주세요!!!

#include <stdio.h>
#include <string.h>
#define L >
#define R <
int main(void)
{
char a[10000],i,j,k,index,temp;
char first[10000];
int num;
int c;
scanf("%s",a);
num=strlen(a);
strcpy(first,a);


for(k=1;k<=num;k++){
if(a[k-2]>a[k-1])
c=2;
else
c=1;

if(c==2){
for(i=0;i<k-1;i++){
index=i;
for(j=i+1;j<k;j++)
if(a[index] L a[j]) index=j;
temp=a[i];
a[i]=a[index];
a[index]=temp;
}
c--;
}else{
for(i=0;i<k-1;i++){
index=i;
for(j=i+1;j<k;j++)
if(a[index] R a[j]) index=j;
temp=a[i];
a[i]=a[index];
a[index]=temp;
}
c++;
}
if(strcmp(a,first)<0){
strcpy(first,a);
}
}
printf("%s\n",first);

return 0;
}

댓글을 작성하려면 로그인해야 합니다.