조회 수 1068 추천 수 0 댓글 0

#include <stdio.h>

int top=-1;
char math[12]; //처음 입력 받을 배열
int stack[6]={0};

int cal(int m); //계산하기
void push(int a); //숫자 집어 넣기
int pop(void); //숫자 빼내기
int main(void)
{
	int m, i, result;

	scanf(" %d", &m); //m=피연산자와 연산자의 개수의 합

	for(i=0; i<m; i++)
		scanf(" %c", &math[i]); //m개의 피연산자와 연산자 입력

	result=cal(m);

	printf("%d", result);

	return 0;
}
int cal(int m)
{
	int i;

	for(i=0; i<m; i++)
	{
		if(math[i]>='0' && math[i]<='9') //숫자일 경우
			push(i);

		else //문자일 경우
		{
			switch(math[i])
			{
				case '+':
					stack[top]+=pop();
					break;

				case '-':
					stack[top]-=pop();
					break;

				case '*':
					stack[top]*=pop();
					break;

				case '/':
					stack[top]/=pop();
					break;
			}
		}
	}

	return stack[0];
}
void push(int a)
{
	//a= math배열에서 숫자가 있는 위치
	//top= stack배열에서 숫자가 있는 마지막 위치

	top++;
	stack[top]=math[a]-'0';
}
int pop(void)
{
	return stack[top--];
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 530
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1287
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2606
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10596
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4943
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8531
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19178
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38079
410 정올 기초다지기(함수2-자가진단6) killerjack 2014.07.26 681
409 정올 기초다지기(함수2-자가진단7) killerjack 2014.07.26 767
408 정올 기초다지기(함수2-자가진단8) killerjack 2014.07.26 747
407 정올 기초다지기(aE002-함수2 2) killerjack 2014.07.26 590
406 정올 기초다지기(aE005-함수2 5) killerjack 2014.07.26 642
405 정올 기초다지기(aE006-함수2 6) killerjack 2014.07.26 663
404 정올 기초다지기(aE007-함수2 7) killerjack 2014.07.26 995
403 정올 기초다지기(함수3-자가진단1) killerjack 2014.07.26 891
402 정올 기초다지기(함수3-자가진단2) killerjack 2014.07.26 597
401 정올 기초다지기(함수3-자가진단3) killerjack 2014.07.26 888
400 정올 기초다지기(함수3-자가진단4) 이거 재귀함수 첨부터 다시짜야함 집에서 해볼것 killerjack 2014.07.26 957
399 사이정수 갯수 구하기 테스트 버전 좋은아빠되기 2014.08.02 544
398 함수3-자가진단4 file 박윤택 2014.08.15 585
397 반올림 file 박윤택 2014.08.15 448
396 윤택이 반올림 좋은아빠되기 2014.08.16 366
395 정올 기초다지기(함수3-자가진단4)[완성] killerjack 2014.08.16 1324
394 두 실수 사이 정수 갯수 구하기 killerjack 2014.08.16 1406
393 정올 기초다지기(함수3-자가진단5)[for버전] killerjack 2014.08.16 685
392 정올 기초다지기 함수3 자가진단 5 남쌤꺼 좋은아빠되기 2014.08.16 488
391 반올림(수정) 1 file 박윤택 2014.08.18 428
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 26 Next
/ 26