Skip to content

Instantly share code, notes, and snippets.

@nickroh
Created June 9, 2021 16:12
Show Gist options
  • Save nickroh/baf2cdef64204eb91c8cc32eadc6e5c6 to your computer and use it in GitHub Desktop.
Save nickroh/baf2cdef64204eb91c8cc32eadc6e5c6 to your computer and use it in GitHub Desktop.
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
typedef struct dictionary{
char dic[100]; // 결과값 배열
int len = 0; // 문자열의 길이
char s1[100]; // 크기가 100인 char형 배열을 선언
bool (*checker)(char a,char dic[]);
void (*func)(char arr[],char dic[]);
void (*input)(char s1[]);
}diction;
void line_break(){
printf("\n");
}
bool checker(char a, char dic[]){
for(int i=0;i<strlen(dic);i++){
if(a == dic[i]){
return false;
}
}
return true;
}
void func(char arr[],char dic[]){
int diccnt=0; // 결과값 길이
int len = 0; // 문자열의 길이
len = strlen(arr); // 문자열의 길이를 len 변수에 저장
for(int i=0; i<len; i++){
if(checker(arr[i],dic)){
dic[diccnt]= arr[i];
diccnt++;
}
}
for(int i=0;i<diccnt;i++){
printf("%c ,", dic[i]); // 문자열의 내용을 출력
}
for(int i=0;i<diccnt;i++){
dic[i]={0,};
}
}
void input(char s1[]){
char c;
printf("Enter String: ");
scanf("%[^\n]s", s1);
scanf("%c", &c);
}
int main(){
while (true)
{
diction d1;
d1.checker = checker;
d1.func = func;
d1.input = input;
d1.input(d1.s1);
d1.func(d1.s1, d1.dic);
line_break();
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment