Native/C

예제 3-3 진행중

aucd29 2013. 10. 2. 18:50
/***************************************************************************
*
*        Date        : 2005-04-18
*        Copyright    : aucd29
*        E-mail        : aucd29@daum.net
*
*        s1에서 a-d식으로 입력하면 s2에 abcd식으로 나오게 하는 expand(s1,s2)를
*        작성 하여라 a-b-c, a-z0-9, -a-z같은 것도 처리되어야 한다.
*
***************************************************************************/

#include <stdio.h>
#include <string.h>

#define MAX 1000

void Expand(char *, char *);


void main(void)
{
    char s1[MAX], s2[MAX];
    
    //
    // Input data
    //
    scanf("%s",s1);

    Expand(s1, s2);

    printf("%s\n%s\n",s1,s2);
}

void Expand(char *s1, char *s2)
{
    int len = strlen(s1);
    char first, end, i, j=0;

    for(i=0;i<len;++i)
    {
        if(s1[i]=='-')
        {
            if(i==0){ s2[0]='-'; j++;}
            else
            {
                //if(end==first)
                //    first = s1[i-1]+1;
                //else
                    first = s1[i-1];

                end = s1[i+1];

                for(;first<=end;++j)
                {
                    s2[j] = first;
                    ++first;
                }
                ++i;                
            }
        }
    }
    s2[j]='\0';
}