Native/C

4-21일자 문제

aucd29 2013. 10. 2. 18:50
/***************************************************************************
*
*        Date        : 2005-04-21
*        Copyright    : aucd29
*        E-mail        : aucd29@daum.net
*
*        주어진 문자열에서 주어진 문자를 제거하고 압축한 후 역순화 해라
*
***************************************************************************/

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

#define MAXLINE 100

void getline(char *);
char *revsqueeze(char *, char);
void main()
{
    char line[MAXLINE];
    char *res,c;

    printf("문장 넣고\n");
    getline(line);
    printf("뺄 단어 넣고 \n");
    c = getchar();

    res = revsqueeze(line, c);
    printf("result : %s\n", res);
}

void getline(char *s)
{
    int i=0;

    while((*s++ = getchar()) !='\n' && ++i && MAXLINE >= i);
    *--s = '\0';
}

char *revsqueeze(char *s, char c)
{
    char *temp;
    int len = strlen(s), i=0;

    temp = (char*)malloc(len+1);
    s+=len;

    while(len--)
    {
        if(*--s != c)
        {
            //++i;
            *(temp+i++) = *s;
        }
    }
    *(temp+i) = '\0';
    //temp -= i;

    return temp;
}