본문 바로가기

IT 공부/C언어

C언어 Quiz 1

C언어를 공부하며 친구가 처음으로 프로그램짜보라고 퀴즈를 냈다.

퀴즈는 단순 연산이 되는 프로그램을 만들어 볼것.

  1. 숫자 한개를 입력받고
  2. 연산자를 입력받고 ( + , - , * , / , %) 
  3. 숫자를 입력받은 뒤 연산 해주는 프로그램
```c
#include <stdio.h>

int     main(){
        int num1;
        int num2;
        char operator;
        int result;

        printf("숫자를 입력하세요\n");
        scanf("%d",&num1);
        printf("부호를 입력하세요\n");
        scanf(" %c",&operator);
        printf("숫자를 입력하세요\n");
        scanf(" %d",&num2);

```

먼저 생각 없이 할수있던것은 scanf를 이용한 값입력받기였다. 

다음 연산자에 따라연산을 해야하기 때문에 if문을 사용하여 연산을 시켰다.

        if(c1 == '+'){
         result = num1 + num2;
		 printf("%d %c %d = %d\n",num1,c1,num2,result);
        }

        else if(c1 == '-'){
         result = num1 - num2;
         printf("%d %c %d = %d\n",num1,c1,num2,result);
        }

        else if(c1 == '*'){
         result = num1 * num2;
         printf("%d %c %d = %d\n",num1,c1,num2,result);
        }

		else if(c1=='/'){
         result = num1 / num2;
         printf("%d %c %d = %d\n",num1,c1,num2,result);
        }

        else if(c1 =='%'){
         result = num1 % num2;
         printf("%d %c %d = %d\n",num1,c1,num2,result);
        }

result 변수를 이용하여 각 연산에 맞는 연산을 하게 하였고, 이렇게 간단히 문제를 풀어봤지만 그뒤에 int허용 범위를 넘어선

오버플로우가 발생하였을때 등 다른 문제를 냈지만 그거까지는 아직 풀지못했다..

좀더 공부하고나서 다시 다 풀어봐야지