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;
}
*
* 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;
}