[혼공파] 2주차_chap3-4

yeon·2024년 7월 14일
0

혼공파_C

목록 보기
2/2

TMI) 계절학기로 영어, 글쓰기를 수강 중인데요
1학년 과목인데 안 들어서,, 업보 청산하고 있습니다 하하 (ಥ _ ಥ)
어제는 글쓰기 힘들어서 신논현 돌아다녔어요
백금발 근처에 저뿐이었는데 가신 분들 중 절 보신 분이 있을지도 모르겠네용
쓰던 안경이 오래 쓰고 있으면 코 내려갈 거 같이 쫌 무거워서
하나 겟 했습니당
왼쪽은 진짜 얼굴의 절반을 가려서 오른쪽 안경으로 샀어요 😊

사실 도수있는 안경 안 씀
블루라이트 차단입니당

암튼 과제 제출합니다

** 전체의 15%정도 이미지 올려도 되는 건 알고 있는데
문제를 올려도 될까 싶어서 답&이유만 적었습니다!

[기본과제]

3-2 데이터 입력 (P.81-82)

  1. scan 함수의 사용법이 옳은 것은 ? 3
    이유는 int 타입에는 %d, float 타입에는 %f를 사용할 수 있기 때문입니다.

  2. 프로그램이 완성되도록 빈칸에 알맞은 내용 작성

코드

int main(void)
{
    char fruit[20];
    int cnt;

    printf("좋아하는 과일: ");
    scanf("%s", fruit); // 1
    printf("몇 개: ");
    scanf("%d", &cnt); // 2
    printf("%s를 %d개 드립니다.", fruit, cnt);

    return 0;
}

결과

  1. 키보드로 문자를 입력해 아스키 코드를 출력하는 프로그램이 완성되도록
    빈칸에 알맞은 코드 작성

코드

int main(void)
{
    char ch; // 문자를 저장할 변수

    printf("문자 입력: "); // 입력 안내 메시지
    scanf("%c", &ch); // 변수 ch에 문자 입력
    printf("%c문자의 아스키 코드 값은 %d입니다.\n", ch, ch); // 변환해서 출력

    return 0;
}

결과

4-2 그 외 유용한 연산자 (P.118-119)

  1. short형과 long형의 자료형 크기를 비교해 크기가 큰 자료형을 출력하는 프로그램이 완성되도록 빈칸 채우기

코드

int main(void)
{
    int res; // 결과 변수

    if (sizeof(short) > sizeof(long)) {
        res = 1;
    } else {
        res = 0;
    }
    
    // sizeof의 피연산자로 자료형 이름을 사용해 크기를 바이트 단위로 계산한다.
    // short형의 크기가 long형보다 크면 참이므로 1, 그렇지 않으면 0을 res에 저장한다.

    
    if (res == 1) {
        printf("short\n");
    } else {
        printf("long\n");
    }

    return 0;
    
    // res가 1과 같으면 short형의 크기가 크므로 출력하고
    // 그렇지 않으면 long형을 출력한다.
}

결과

  1. 야구경기장의 좌석 수 70개, 입장객 수가 65명일 때 입장률 표시되는 프로그램이 완성되도록 빈칸 채우기

코드

int main(void)
{
    int seats = 70;      // 경기장의 좌석 수(seats) 초기화
    int audience = 65;   // 입장객 수(audience) 초기화
    double rate;         // 입장률(rate)을 저장할 변수

    // 'audience / seats'를 바로 연산하면 둘 다 int형이므로 몫을 계산한다.
    // 이 경우 입장객 수가 좌석 수보다 크지 않으므로 항상 0이 출력된다.
    // 따라서 소수점까지 계산할 수 있도록 double형으로 형 변환한다.
    // 나누기(/)와 곱하기(*)는 우선순위가 같으므로 연산 방향에 따라 왼쪽부터
    // 나누기 연산이 먼저 수행된다.
    rate = (double)audience / seats * 100;
    printf("입장률: %.1f%%\n", rate); // 입장률 출력

    return 0;
}

결과

  1. 3.76시간은 몇 시간, 몇 분, 몇 초인지 출력하는 프로그램이 되도록 빈칸 채우기

코드

int main(void)
{
    int hour, min, sec;        // 시, 분, 초를 저장할 변수
    double time = 3.76;        // 시간 초기화

    hour = (int)time;          // 형 변환으로 정수 부분만을 골라낸다.
    time = (time - hour) * 60; // 한 시간이 안 되는 부분만을 다시 저장한다.
    min = (int)time;           // 분 단위로 환산
    time = (time - min) * 60;  // 일분이 안 되는 부분만을 다시 저장한다.
    sec = (int)time;           // 초 단위로 환산

    printf("%.2f시간은 %d시간 %d분 %d초입니다.\n", 3.76, hour, min, sec); // 변환한 시간 출력

    return 0;
}

결과

감사합니다 (●'◡'●)

0개의 댓글