카테고리 없음

C프로그래밍 14주차 과제

hameunbin01 2026. 6. 1. 19:00

출처 : Smile Han

예제 11.1 변형

#include <stdio.h>

int main(void) {
    double temp = 36.5;   // 체온을 저장함
    double backup;        // temp 값을 복사해 둘 변수이다
    double* pt;           // temp를 가리킬 포인터이다

    pt = &temp;           // temp의 주소를 pt에 저장함
    backup = *pt;         // pt를 통해 temp 값을 읽어서 복사함

    printf("temp=%.1f\t &temp=%p\n", temp, &temp);
    printf("pt=%p\t &pt=%p\t *pt=%.1f\n", pt, &pt, *pt);
    printf("backup=%.1f\t &backup=%p\n", backup, &backup);

    return 0;
}

 

 

 

 

예제 12.1 변형

 

#include <stdio.h>

struct Book {              // 책의 정보를 저장하는 구조체이다
    char   title[50];
    int    pages;
    double price;
};

int main(void) {
    struct Book harry, python, shelf[100];
    // 구조체 변수 2개와 구조체 배열을 선언함

    harry.pages = 450;     
    // 해리의 페이지 수를  저장함

    python.price = 32000.0;
    // 파이썬의 가격을 저장함

    shelf[0].pages = 300;
    // 배열 첫 번째 요소의 페이지 수를 저장함

    printf("%d %f %d\n",
        harry.pages, python.price, shelf[0].pages);
    // 저장된 값을 출력함

    return 0;
}

 

 

 

 

 

 

 

예제 12.2 변형

 

#include <stdio.h>

struct Employee {          // 직원 정보를 저장하는 것
    char id[10];      
    char name[10];     
    int  base, bonus, total; 
    double tax;       
};

int main(void) {
    struct Employee e = { "EMP-001", "kim", 3000000, 500000 };
    // 직원의 정보를 초기화시킴

    e.total = e.base + e.bonus;
    // 총급여를 계산함

    e.tax = e.total * 0.033;
    // 세금을 계산함

    printf("%s %s %d %d %d %f\n",
        e.id, e.name, e.base, e.bonus, e.total, e.tax);
    // 직원의 정보를 출력함

    return 0;
}

 

 

 

 

 

예제 12.3 변형

 

 

#include <stdio.h>

struct Product {          // 상품 정보를 저장하는 것
    char code[10];       
    char item[10];     
    int qty, sold, remain; 
    double rate;        
};

int main(void) {
    struct Product a, b = { "P-001", "apple", 100, 73 };
    // 변수 선언 및 초기화를 함

    b.remain = b.qty - b.sold;
    // 재고를 계산함

    b.rate = b.sold / (double)b.qty * 100;
    // 판매율을 계산함

    a = b;
    //  전체 복사

    printf("%s %s %d %d %d\n",
        b.code, b.item, b.qty, b.sold, b.remain);
    // b의 정보를 출력함

    printf("%s %s %d %d %d\n",
        a.code, a.item, a.qty, a.sold, a.remain);
    // a의 정보를 출력함

    return 0;
}