본문 바로가기

프로그래밍 언어/C언어

누구나 쉽게 즐기는 c언어 콘서트 개정판 11장 programming

SMALL

누구나 쉽게 즐기는 c언어 콘서트 개정판 11장 프로그래밍

1번문제

#include<stdio.h>
struct time {
    int hour, min, sec;
};
 
int main(void) {
    struct time starttime = { 0,0,0 };
    struct time endtime = { 0,0,0 };
    struct time usetime = { 0,0,0 };
    printf("시작시간(시, 분, 초): ");
    scanf("%d %d %d"&starttime.hour, &starttime.min, &starttime.sec);
    printf("종료시간(시, 분, 초): ");
    scanf("%d %d %d"&endtime.hour, &endtime.min, &endtime.sec);
    usetime.hour = endtime.hour - starttime.hour;
    usetime.min = endtime.min - starttime.min;
    usetime.sec = endtime.sec - starttime.sec;
    printf("소요시간 %d:%d:%d", usetime.hour, usetime.min, usetime.sec);
    return 0;
}
cs

 

2번문제

#include<stdio.h>
 
typedef struct days{
    int year;
    int mon;
    int day;
 
}DAY;
typedef struct email {
    char title[100];
    char receiver[10];
    char sender[10];
    char content[100];
    DAY day;
    int order;
}EMAIL;
int main(void) {
    EMAIL mail = { "hello","a","b","hello a? I'm b.",{2020,12,1},1};
    printf("title : %s\nreciver : %s\nsender : %s\ncontent : %s\ndate : %d.%d.%d\norder : %d", mail.title, mail.receiver, mail.sender, mail.content, mail.day.year, mail.day.mon, mail.day.day, mail.order);
    return 0;
}
cs

 

3번문제

#include<stdio.h>
struct employee {
    int number;
    char name[10];
    char phone[11];
    int age;
};
int main(void) {
    struct employee list[10= {
        { 1,"홍길동1","01000000001",20 },
        { 2,"홍길동2","01000000002",21 },
        { 3,"홍길동3","01000000003",10 },
        { 4,"홍길동4","01000000004",50 },
        { 5,"홍길동5","01000000005",35 },
        { 6,"홍길동6","01000000006",34 },
        { 7,"홍길동7","01000000007",23 },
        { 8,"홍길동8","01000000008",25 },
        { 9,"홍길동9","01000000009",22 },
        { 10,"홍길동10","01000000010",12},
    };
    for (int i = 0; i < 10; i++) {
        if (20 <= list[i].age && list[i].age <= 30) {
            printf("%s\n", list[i].name);
        }
    }
    return 0;
}
cs

 

4번문제

#include<stdio.h>
union number { int std_id;  int korea_id; };
typedef struct student {
    
    union number id;
    char name[100];
    char phone[11];
}STD;
 
int main(void) {
    STD std1 = { 12345,"홍길동","01000000000" };
    printf("std_id : %d\nkorea_id : %d\n", std1.id.std_id,std1.id.korea_id);
    std1.id.korea_id = 67890;
    printf("\nkorea_id 변경\n\n");
    printf("std_id : %d\nkorea_id : %d\n", std1.id.std_id, std1.id.korea_id);
    printf("\n같이 바뀌는 것을 볼 수있음.\n");
    return 0;
}
cs

 

5번문제

#include<stdio.h>
typedef struct complex {
    float real;
    float fake;
}COM;
 
int main(void) {
    COM a, b;
    printf("첫번째 복소수를 입력하시오(a,b):");
    scanf("%f %f"&a.real, &a.fake);
    printf("두번째 복소수를 입력하시오(a,b):");
    scanf("%f %f"&b.real, &b.fake);
    printf("%.1f + %.1fi", a.real + b.real, a.fake + b.fake);
 
    return 0;
}
cs

 

6번문제

#include<stdio.h>
 
enum game{scissors, rock, paper};
int main(void) {
    int user;
    enum game computer = rand() % 3;
    printf("가위(0),바위(1),보(2): ");
    scanf("%d"&user);
    if (computer == user) {
        printf("비겼습니다.");
    }
    else if (user == scissors) {
        if(computer == rock)
            printf("졌습니다.");
        else printf("이겼습니다.");
    }
    else if (user == rock) {
        if (computer == paper)
            printf("졌습니다.");
        else printf("이겼습니다.");
    }
    else if (user == paper) {
        if (computer == scissors)
            printf("졌습니다.");
        else printf("이겼습니다.");
    }
    return 0;
}
cs

 

7번문제

#include<stdio.h>
enum shape {three, four, zero};
union data1 {int baseline, width, radius;};
union data2 {int height,radius;};
typedef struct thing {
    enum shape shape;
    union data1 a;
    union data2 b;
}TH;
int main(void) {
    TH user;
    printf("도형의 타입을 입력하시오(0,1,2):");
    scanf("%d"&user.shape);
    if (user.shape == three) {
        printf("밑변과 높이를 입력하시오(예를 들어서 100 200):");
        scanf("%d %d"&user.a.baseline, &user.b.height);
        printf("면적은 %d", user.a.baseline * user.b.height / 2);}
    else if (user.shape == four) {
        printf("가로과 세로를 입력하시오(예를 들어서 100 200):");
        scanf("%d %d"&user.a.baseline, &user.b.height);
        printf("면적은 %d", user.a.width * user.b.height);}
    else if (user.shape == zero) {
        printf("반지름을 입력하시오(예를 들어서 100 100):");
        scanf("%d %d",&user.a.radius, &user.b.height);
        printf("면적은 %f", user.a.radius * user.b.radius * 3.14);}
    return 0;
}
cs
LIST