프로그램 설명 : 두 개의 배열을 만들고 각 배열에 단어를 담는다.

소문자가 담기는 경우도 있기 때문에 모든 단어를 대문자로 변경한다.

그리고 각 문자의 앞 뒤 여부를 계산해서 앞에 위치하는 단어를 찾아낸다.

만약 각 단어가 같은 경우 다음 글자를 검사한다.

예) (ALONE, APPLE) 첫번 째 글자인 A가 같으므로 두 번째 글자인 L, P를 비교한다.

혹은 두 단어가 완전히 일치하는 경우도 찾아낸다. 


#include <stdio.h>


int main(void)

 {

    char arr[100] = {0};

    char arr1[100] = {0};

    int i=0, sum = 0;

    char *p = arr;

    char *p1=arr1;


   scanf("%s",p);

   scanf("%s",p1);


   for(i=0;p[i]&&p1[i]<'\0';i++)//대문자로 받을 시 모두 소문자로 바꿔줌

   {

    if('A'>p[i]&&'z'<p1[i])

     p[i]=p1[i]-'a'+'A';

       if('A'>p1[i]&&'z'<p1[i])

     p1[i]=p1[i]-'a'+'A';

    }


   i=0;


   if (*(p+i) == *(p1+i) )

       i++; //글자가 같으면 다음 글자 비교


   if( *(p+i) > *(p1+i) ) {

       printf("%s가 %s보다 앞에 있습니다.\n", p1, p);

    } else if((*(p+i))<(*(p1+i))) {

       printf("%s가 %s보다 앞에 있습니다.\n", p, p1);

    } else {

       printf("두 문자열이 같습니다.\n");

    }

    return 0;

 }


방명록이나 댓글로 질문 남겨주세요.

'IT > C' 카테고리의 다른 글

C언어 문자 종류별 개수, 각 문자 개수 구하기  (0) 2017.07.17
C언어 내림차순 정렬 프로그램  (0) 2017.07.17

+ Recent posts