논리적으로이 작업을 수행 할 생각이 없습니다. 정렬에 대한 모든 가능성을 배웠고 그것에 대한 알고리즘을 기반으로했습니다.3 문자열을 사전 적으로 C에서 조건문을 사용하여 정렬
ABC
ACB
BAC
BCA
CABCBA
그래서 3 문자열 및에서만 여섯 가능한 조합이 생각
그것은 매우 co와 함께 이것을 하드 코딩하는 빠르고 쉬운 솔루션 nditionals. 코드를 참조하십시오.
char str1[x]; // where x is some constant value
char str2[x];
char str3[x];
char temp[x];
if (strcmp(str1, str2) > 0)
{
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
else if (strcmp(str2, str3) > 0)
{
strcpy(temp, str2);
strcpy(str2, str3);
strcpy(str3, temp);
}
else if (strcmp(str1, str3) > 0)
{
strcpy(temp, str1);
strcpy(str1, str3);
strcpy(str3, temp);
}
본질적으로 예를 들어 ABC의 변형을 가져 와서 ABC로 정렬하고 싶습니다. 즉 BAC -> ABC, CAB -> ABC.
1) 귀하의 질문은 무엇입니까 : Take a look here
여기에 문자열을 않는 작은 코드는? 2) 여러분이 말했듯이 여섯 가지 다른 가능성이 있지만 코드에는 네 가지 실행 경로 (블록의 경우 첫 번째, 두 번째, 세 번째 또는 아무도 실행되지 않음) 만 사용할 수 있습니다. 그건 좋은 징조가 아니야. – hobbs
'else'가 필요 없다고 생각합니다. – dasblinkenlight
'else'를 제거하면 CBA를 제외한 모든 것이 작동합니다. BCA – compute