반응형
#include <stdio.h>

int main()
{
        //횟수 계산
        printf("가정할 횟수를 입력하세요.");
        int turn = 0;
        scanf("%d", &turn);

		//배열 초기화
        int price[turn];

        for (int i = 0; i<turn; i++)
        {
                price[i] = 0;
        }

        printf("1회 등수와 2회 등수를 차례대로 입력하세요.\n");

        //상금 계산
        for (int i = 0; i < turn; i++)
        {
                int st, nd = 0;
                int money_1st, money_2nd = 0;
                scanf("%d %d", &st, &nd);

                //첫 번째 대회 상금 계산
                if (st == 1)
                        money_1st = 500;
                else if ((st == 2) || (st == 3))
                        money_1st = 300;
                else if ((st >= 4) && (st <=6))
                        money_1st = 200;
                else if ((st >= 7) && (st <= 10))
                        money_1st = 50;
                else if ((st >= 11) && (st <= 15))
                        money_1st = 30;
                else if ((st >= 16) && (st <= 21))
                        money_1st = 10;
                else
                        money_1st = 0;

                //두 번째 대회 상금 계산
                if (nd == 1)
                        money_2nd = 512;
                else if ((nd == 2) || (nd == 3))
                        money_2nd = 256;
                else if  ((nd >= 4) && (nd <= 7))
                        money_2nd = 128;
                else if ((nd >= 8) && (nd <= 15))
                        money_2nd = 64;
                else if ((nd >= 16) && (nd <= 31))
                        money_2nd = 32;
                else
                        money_2nd = 0;

                int money;
                money = money_1st + money_2nd;

                price[i] = money;
        }

        for (int i=0; i<turn; i++)
        {
                printf("%d만원\n", price[i]);
        }

        return 0;
}

 

요즘 너무 파이썬만 하는 것 같아서 오랜만에 c를 했어요!

저희 학교는 비주얼 스튜디오 대신에 Xshell을 사용해서 코딩을 하는데 오랜만에 들어갔더니 학교랑 연결이 끊겨있더라구요..ㅜㅜ

이거 다시 연결하느라 시간이 좀 걸렸어요..

 

그래서 연결해서 코딩을 하는데..계속 이상한 값이 프린트가 되더라고요?

도대체 뭐가 문제일까? 혹시 scanf에서 값 입력이 제대로 되지 않나? 하고 여러 방법으로 scanf를 고쳐봤지만 오류는 계속 났어요.. 그러다 발견한 것!

 

제가 price[i] = money라고 해야하는데 money = price[i]라고 썼더라고요...

그러니....계속 난수가 나오지ㅜㅜ

그래서 딱 고쳤더니!! 제대로 나오더라고요..ㅎㅎ

되게 단순한 코드였는데 이상한 실수 하나로 많이 헤맸어요..

반응형

'coding > C' 카테고리의 다른 글

[C언어] 공용체  (0) 2020.07.03
반응형

저번 1학기에 C프로그래밍 수업을 들었다. 

그 중 공용체를 따로 다루지 않아서 어떤 것일지 궁금해졌다. 

 

 

*공용체

 : union{} 으로 정의한다. 

  전체적인 구조는 구조체와 비슷하다.

 

 -구조체와 공용체의 차이점

  구조체는 구조체 안의 멤버들이 메모리를 각자 가지고 있어서 메모리에 있어서 독자적으로 움직인다. 

  공용체는 가장 큰 메모리를 갖는 멤버의 메모리를 다른 멤버들과 공유한다. 

 

  따라서 공용체 안의 한 멤버를 변경했을 때, 다른 멤버에 영향이 가서 우리가 원하는 대로 제대로 출력되지 않을 수 있다고 한다. 

 

그래서 공용체는 구조체에 비해 잘 사용되지는 않지만, 임베디드 시스템이나 펌웨어에 사용된다고 한다. 

 

교수님께서 자주 사용하지 않는다고 말씀하신 게 이 부분인 것 같다. 

반응형

'coding > C' 카테고리의 다른 글

[c언어] 백준 알고리즘 15953번: 상금 헌터  (0) 2020.07.12

+ Recent posts