괄호 검사

☆C언어/소스 2017. 6. 17. 18:48

조건 1: '(', ')' 이둘의 갯 수가 같아야 한다.

조건 2: 첫번째에 ')'이 오면 안되고 마지막에는 '(' 이 오며 안된다.

조건 3: 앞의 '(' 뒤에  ')'이 더 많이 있으면 안된다.


#include<stdio.h>

#include<string.h>

int main()

{

char in[100];

int a=0,b=0; //(,),각 갯수

int size;

printf("괄호 입력 : ");

scanf("%s",in);

size=strlen(in);

printf(" 크기 : %d\n",size);


//괄호수 체크

for(int i=0;i<size;i++)

{

if(in[i]=='(')

a++;

else if(in[i]==')')

b++;

else

printf("잘못된거 들어왔다");

}

if(a!=b)

{

printf("괄호 수가 안맞다 \n");

return 0;

}


//앞뒤 체크

if(in[0]!='(' || in[size-1]!=')')

{

printf("앞 뒤 괄호 잘못적음");

return 0;

}


//괄호 순서 검사

for(int i=0;i<size;i++)

{

if(in[i]=='(')

a--;

else

b--;

if(a>b)

{

printf("괄호 순서 에러");

return 0;

}

}

printf("Yes");

}

'☆C언어 > 소스' 카테고리의 다른 글

'q' 입력시 종료  (0) 2017.11.21
달력  (0) 2017.11.13
바이너리 파일 핸들링  (0) 2017.06.15
달력 문제  (0) 2017.06.14
3n+1  (0) 2013.06.27