#include <stdio.h>
#include <string.h>
int main() {
int num, i, j, result, index;
char name[100][10];
char temp[10];
scanf("%d\n", &num);
for(i = 0; i < num; i++)
scanf("%s\n", name[i]);
for(i = 0; i < num; i++) {
index = i;
for(j = i + 1; j < num; j++) {
result = strcmp(name[index], name[j]);
if(result > 0)
index = j;
}
strcpy(temp, name[index]);
strcpy(name[index], name[i]);
strcpy(name[i], temp);
}
for(i = 0; i < num; i++) {
printf("%s", name[i]);
printf("\n");
}
}
소문자 영문자보다 많은 단어가 주어졌습니다. 알파벳순으로 정렬해야합니다.온라인 프로그램 챌린지 컴파일러에서 프레젠테이션 오류가 발생했습니다.
알파벳 순서 : 단어가 사전이나 전화 번호부에 구성되는 순서입니다. 예를 들어
,- ABC는 XAB 전에 온다. 이유 : 첫 글자가 다릅니다. 그래서, 그들은 비교됩니다. a는 영어 알파벳 x 앞에옵니다.
- aab 앞에 abc가옵니다. 이유 : 첫 글자는 동일합니다 (aab abc). 따라서 다음 2 글자를 비교합니다 (aab abc).
- aab은 aab 앞에옵니다. 이유 : aab의 첫 3 글자는 aaba의 처음 3 글자와 같으며 aab에는 비교할 편지가 없습니다. 따라서 길이가 더 짧은 단어가 먼저옵니다 (aab).
입력 - 첫 번째 줄에는 'n'단어가 있고 그 뒤에 단어가 들어있는 n 줄이옵니다.
출력 - 단어는 알파벳순으로 각 행마다 하나씩.
제약 조건 : 각 단어 < = 10
힌트 0 = 100 < N <, 0 < 길이 : 배열 할 수있는 방법을 두 가지 차원을 참조하십시오.
이 프로그램은 온라인 도전
샘플 입력
2
world
hello
샘플 출력
hello
world
'이 프로그램은 프레젠테이션 오류를 되 돌린다'는 것은 무엇을 의미합니까? 적어도'printf ("% s", name [i]); printf ("% s \ n", name [i]);'에 printf ("\ n"); –
'name'과'temp'는'name [100] [11]'과'temp [11]'이어야합니다. –
반향은 프리젠 테이션 오류가 발생했지만 출력이 정확하다는 것을 의미합니다. – user3478862