옥수수와 식빵 그리고 코딩

5장 연습문제 본문

C/perpect C

5장 연습문제

옥식 2021. 12. 28. 21:11

01. 표준입력을 두 정수를 입력받아 큰 수를 작은 수로 나눈 몫과 나머지를 각각 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int num1, num2;

    printf("임의의 정수 입력1 : ");
    scanf("%d", &num1);

    printf("임의의 정수 입력2 : ");
    scanf("%d", &num2);

    printf("몫은 %d이고 나머지는 %d입니다.", num1 / num2, num1 % num2);

    return 0;

}

02. 일자를 정수로 입력받아 년, 월 일 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int day;
    printf("일자 입력: ");
    scanf("%d", &day);
    printf("입력한 날짜: %d\n", day);

    int year = day / 365;
    int rest = day % 365;
    int mon = rest / 30;
    rest %= 30;

    printf("%d년 %d월 %d일\n", year, mon, rest);

    return 0;

}

03. 센티미터를 피트로 계산하여 소수점 3자리까지 출력하는 프로그램

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define FEET 30.48

int main(void)
{
    double cm;
    printf("길이를 센티미터로 입력 : ");
    scanf("%lf", &cm);
    
    printf("%.3lf 센티미터: %.3lf 피트", cm, (double)cm / FEET);

    return 0;

}

 

04. 구의 체적과 표면적을 구하는 프로그램

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    double r;
    scanf("%lf", &r);

    double v = (4.0 / 3) * 3.14 * r * r * r; // 4/3으로 하면 몫인 1만 곱해져서 결과가 달라진다.
    double s = 4 * 3.14 * r * r;

    printf("구의 체적은 %10.3lf 입니다.\n", v);
    printf("구의 표면적은 %10.3lf 입니다.\n", s);

    return 0;

}

05. 조건연산자를 이용하여 세 수중 가장 큰 수를 구하는 프로그램

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int a, b, c;
    printf("세 개의 정수 입력: ");
    scanf("%d %d %d", &a, &b, &c);

    int max;
    max = (a > b) ? a : b;
    max = (max > b) ? a : b;

    printf("가장 큰 수: %d", max);

    return 0;

}

06.키와 몸무게를 입력받아 정상인지 비정상인지 출력

조건 연산자로 해보려 했는데 오류남

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    double tall, weight;
    printf("키 입력: ");
    scanf("%lf", &tall);
    printf("몸무게 입력: ");
    scanf("%lf", &weight);

    double stat;
    stat = (tall - 100) * 0.9;

    printf("당신은 %c 입니다.", (weight <= stat)?"정상":"비만"); //오류남

    return 0;

}

그래서 if else로 함

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    double tall, weight;
    printf("키 입력: ");
    scanf("%lf", &tall);
    printf("몸무게 입력: ");
    scanf("%lf", &weight);

    double stat;
    stat = (tall - 100) * 0.9;

    if (weight <= stat)
        printf("당신은 정상입니다.");
    else
        printf("당신은 비만입니다.");

    return 0;

}

07. 예치기간을 입력받아 만기시 총 금액 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int year;
    double money = 1000000;

    printf("예치 기간 입력(년): ");
    scanf("%d", &year);

    printf("이율: 4.5%% "); //%출력하려면 %%입력해야 함

    printf("총 금액: %lf", money * (1 + 0.045 * year));
    return 0;

}

08. 예치기간을 입력받아 복리 이자 만기 시 총 금액 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>

int main(void)
{
    int year;
    double money = 1000000;

    printf("예치 기간 입력(년): ");
    scanf("%d", &year);

    printf("이율: 4.5%% "); //%출력하려면 %%입력해야 함

    double a = 1 + 0.045;
    printf("총 금액: %lf", money* pow(a, year));
    return 0;

}

09. 두 점의 중간지점 출력 - 야매임

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    double a=3.20, b=4.60, c=-8.30, d=-2.30;
    printf("(%.2lf %.2lf), (%.2lf %.2lf)\n", a, b, c, d);
    printf("중심좌표: (%.2lf %.2lf)\n", (a + c) / 2, (b + d) / 2);

    return 0;

}

10. 이차방정식 해 구하기 - 검증계산은 뭔지 모르겠어서 안함

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>

int main(void)
{
    double a = 2, b = 3, c = -4;
    double result1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
    double result2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);

    printf("해1 %.3lf\n", result1);
    printf("해2 %.3lf\n", result2);

    return 0;

}

 

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

7장 연습문제  (0) 2021.12.29
6장 연습문제  (0) 2021.12.29
chapter 07 내용점검 연습 04번  (0) 2021.12.27
3장 연습문제와 형식지정자  (0) 2021.12.24
Chapter 04 연습문제  (0) 2021.12.24
Comments