본문 바로가기
프로그램 개발

쉽게 풀어쓴 C언어 express 8장 연습문제

by DRIN 2016. 9. 24.

목차

    반응형

    1.

    #include <stdio.h>

     

    int even(int a);

    int absolute(int a);

    int sign(int a);

     

    int main()

    {

    int a;

    printf("정수를입력하시오:");

    scanf("%d", &a);

    printf("짝수=> 1,홀수=>0:%d\n",even(a));

    printf("절대값:%d\n",absolute(a));

    printf("음수=>-1,양수=>1 =>0:%d\n",sign(a));

    return 0;

    }

    int even(int a)

    {

    if (a % 2 == 0)

    return 1;

    else

    return 0;

    }

    int absolute(int a)

    {

    if (a >= 0)

    return a

    else

    return -a

    }

    int sign(int a)

    {

    if (a > 0)

    return 1;

    else if (a == 0)

    return 0;

    else

    return -1;

    }

     

     

     

    2.

    #include <stdio.h>

     

    double f_to_c(double f);

    int main()

    {

    double f;

    printf("화씨온도를입력하시오:");

    scanf("%lf", &f);

    printf("섭씨온도는%lf도입니다\n", f_to_c(f));

    }

    double f_to_c(double f)

    {

    return(5.0 / 9.0*(f - 32.0));

    }

     

     

     

     

     

    3.

    #include <stdio.h>

    #define phi 3.14

    double cal_area(double r);

    int main()

    {

    double r;

    printf("원의반지름을입력하시오:");

    scanf("%lf", &r);

    printf("원의면적은%lf입니다\n", cal_area(r));

    }

    double cal_area(double r)

    {

    return(phi*r*r);

    }

     

     

     

    4.

    #include <stdio.h>

     

    int get_tax(int i);

    int main()

    {

    int i;

    printf("소득을입력하시오(만원):");

    scanf("%d", &i);

    printf("소득세는%d만원입니다\n", get_tax(i));

    }

    int get_tax(int i)

    {

    if (i <= 1000)

    return(i*0.08);

    else

    return(i*0.1);

    }

     

     

     

    5.함수값 출력

    #include <stdio.h>

    #include <math.h>

    #define phi 3.14

     

    void main()

    {

    int i;

    double r;

    for (i = 0; i <= 180; i = i + 10)

    {

    r = i*phi / 180;

    printf("sin(%d)의값은%lf \n", i, sin(r));

    }

    }

     

     

     

     

    5.입력받아 계산

    #include <stdio.h>

    #include <math.h>

    #define phi 3.141592

    double sin_degree(double degree);

     

    int main()

    {

    while (1)

    {

    int degree;

    printf("각도를입력하시오:");

    scanf("%d", &degree);

    if (degree > 180)

    break

    printf("sin(%d)의값은%lf\n",degree,sin_degree(degree));

     

    }

    }

    double sin_degree(double degree)

    {

    return(sin((phi*degree) / 180.0));

    }

     

     

     

     

     

    6.

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    int b_rand()

    {

    return(rand() % 2);

    }

    int main()

    {

    int i;

    srand((unsigned)time(NULL));

    for (i = 0; i < 5; i++)

    {

    printf("%d ", b_rand());

    }

    printf("\n");

    }

     

     

     

     

     

    7.

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    int b_rand()

    {

    return(rand() % 2);

    }

    int main()

    {

    int n;

    char i;

    while (1)

    {

    printf("앞면또는뒷면(1 또는0):");

    scanf("%d", &n);

    if (b_rand() == n)

    printf("맞았습니다.\n");

    else

    printf("틀렸습니다.\n");

    printf("계속하시겠습니까(y 또는n):");

    scanf(" %c", &i);

    if (i == 'n')

    break

    }

    }

     

     

     

     

    8.

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    double f_rand()

    {

    return(rand()/(double)RAND_MAX);

    }

    int main()

    {

    int i;

    for (i = 0; i < 5; i++)

    {

    printf("%lf ", f_rand());

    }

    printf("\n");

    }

     

     

     

     

    9.

    #include <stdio.h>

     

    int print_value(int n)

    {

    int i;

    for (i = 0; i < n i++)

    {

    printf("*");

    }

    printf("\n");

    }

     

    void main(void)

    {

    int n;

    while (1)

    {

    printf("값을입력하시오(종료는음수) : ");

    scanf("%d", &n);

    if (n >= 0)

    print_value(n);

    else

    break

     

    }

    }

     

     

     

     

    10.

    #include <stdio.h>

     

    int is_multiple(int n, int m)

    {

    if (n%m == 0)

    printf("%d%d의배수입니다", n, m);

    else

    printf("%d%d의배수가아닙니다", n, m);

    }

    int main()

    {

    int n, m;

    printf("첫번째정수를입력하시오:");

    scanf("%d", &n);

    printf("두번째정수를입력하시오:");

    scanf("%d", &m);

    is_multiple(n,m);

    printf("\n");

    }

     

     

     

    11.

    #include <stdio.h>

    #include <math.h>

     

    double get_distance(double x1,double x2, double y1, double y2)

    {

    return sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));

    }

    int main()

    {

    int x1, x2, y1, y2;

    printf("첫번째점의좌표를입력하시오:(x,y)");

    scanf("%d %d", &x1, &y1);

    printf("두번째점의좌표를입력하시오:(x,y)");

    scanf(" %d %d", &x2, &y2);

    printf("두점사이의거리는%lf입니다.\n", get_distance(x1,x2,y1,y2));

    }

     

     

     

     

     

    12.

    #include <stdio.h>

     

    void is_prime()

     

    {

    int i, j;

    for (i = 2; i <= 100; i++)

    {

    for (j = 2; j < i; j++)

    if (i%j == 0) break

    if (i == j)

    printf("%d ", j);

    }

    }

    int main(void)

    {

    printf("2부터100사이의소수를출력합니다.\n");

    is_prime();

    return 0;

    }

     

     

     

     

    13.

    #include <stdio.h>

     

    long long factorial(int n)

    {

    int i;

    long long result = 1;

     

    for (i = 1; i <= n i++)

    {

    result *= i;

    }

    return result;

    }

    int main(void)

    {

    int n,i;

    double result = 0;

    printf("어디까지계산할까요:");

    scanf("%d", &n);

    for (i = 0; i < n; i++)

    {

    result=result+(1/(double) factorial(i));

    }

    printf("오일러의수는%lf입니다.\n",result);

    return 0;

    }

     

     

     

    14.

    #include <stdio.h>

     

    int is_leap(int n)

    {

    if (n % 4 == 0 && n % 100 != 0 || n % 400 == 0)

    printf("%d366일입니다.\n", n);

    else

    printf("%d365일입니다.\n", n);

    }

    int main(void)

    {

    int n;

    printf("연도를입력하시오:");

    scanf("%d", &n);

    is_leap(n);

    return 0;

    }

     

     

     

     

     

    15.

    #include <stdio.h>

     

    double round(double f)

    {

    return (int)(f + 0.5);

    }

    int main()

    {

    double f;

    printf("실수를입력하시오:");

    scanf("%lf", &f);

    printf("반올림한값은%lf입니다.\n", round(f));

    return 0;

    }

     

     

     

    16.

    #include <stdio.h>

    #define e 0.000001

     

    double f_abs(double x)

    {

    if (x < 0)

    - x;

    else

    x;

    }

    double f_min(double x, double y)

    {

    if (f_abs(x) <= f_abs(y))

    return x;

    else

    return y;

    }

    int f_equal(double x,double y)

    {

    double result;

    result = (f_abs(x - y)) / f_min(x, y);

    if (result < e)

    return 1;

    else

    return 0;

    }

    void main()

    {

    double x, y;

    printf("실수를입력하시오:");

    scanf("%lf", &x);

    printf("실수를입력하시오:");

    scanf("%lf", &y);

    if (f_equal(x, y) == 1)

    printf("두개의실수는서로같음\n");

    else

    printf("두개의실수는서로다름\n");

    }

      

     

     

    17.

    #include <stdio.h>

     

    int print_menu()

    {

    int a;

    printf("1.햄버거\n");

    printf("2.치즈버거\n");

    printf("3.샌드위치\n");

    printf("4.종료\n");

    printf("원하는메뉴를선택하시오:");

    scanf("%d", &a);

    check_menu_number(a);

    }

    int check_menu_number(int a)

    {

    if (a >= 1 && a <= 3)

    printf("%d번째메뉴가선택되었습니다.\n", a);

    else if (a == 4)

     

    else

    print_menu();

    }

    int main()

    {

    print_menu();

    }

    2016/09/24 - [소스코드] - 쉽게 풀어쓴 C언어 express 7장 연습문제

    2016/09/24 - [소스코드] - 쉽게 풀어쓴 C언어 express 5장 연습문제

    2016/09/24 - [소스코드] - 쉽게 풀어쓴 C언어 express 4장 연습문제


    반응형