C언어/참고서: C언어 콘서트

C언어 16차시 수식과 연산자 연습문제 2

Olivia-BlackCherry 2023. 3. 22. 14:00

목차

    1. 세 자리 정수의 각 자리 수의 값을 각각 출력하기

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	int x, x_100, x_10, x_1;
    	
    	printf("세 자리로 이루어진 정수를 입력하세요:___\b\b\b");
    	scanf("%d", &x);
    	
    	x_100 = x / 100;
    	x_10 = x % 100 /10;
    	x_1 = x % 10;
    
    	printf("백의 자리 숫자는 %d, 십의 자리 숫자는 %d, 일의 자리 숫자는 %d입니다\n\n", x_100, x_10, x_1);
    	
    	return 0;
    }

     

     

    2. x값 입력받아, 다항식 값 계산하기

    다항식:  (x * x * x - 20) / (x - 7);

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	double x;
    	double result;
    	
    	printf("x값을 입력하세요:_\b");
    	scanf("%lf", &x);
    	
    	result = (x * x * x - 20) / (x - 7);
    
    	printf("정답값은 %lf입니다.\n\n", result);
    	return 0;
    }

     

     

    3. 두 개의 실수 입력받아서, 정수부를 더한 값 출력하기

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	double x,y;
    		
    	printf("x, y 실수 값을 각각 입력하세요:___\b\b\b");
    	scanf("%lf %lf", &x, &y);
    	
    	printf("정답값은 %d입니다.\n\n", (int)x +(int)y);
    	return 0;
    }

    ※ 주의점

    형변환을 할 때는 (int)x, (int)y 등으로 자료형에 ( )괄호를 넣는다. 

    파이썬 같은 경우에는 int(x), int(y) 이렇게 값에 ( )괄호를 넣는다. 

     

     

    4. 임의의 숫자를 입력받아서, 최하위 비트를 출력하기

    최하위 비트(LSB: Least Significant Bit)

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	int x, lsb;
    		
    	printf("x값을 각각 입력하세요:___\b\b\b");
    	scanf("%d", &x);
    	
    	lsb = 1 & x;
    	printf("LSB은 %d입니다.\n\n", lsb);
    	return 0;
    }

     

     

    5. 임의의 숫자를 입력받아서, n번째 비트를 1로 설정하기

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	int x, n, result;
    		
    	printf("x값을 입력하세요:___\b\b\b");
    	scanf("%d", &x);
    
    	printf("n값을 입력하세요:___\b\b\b");
    	scanf("%d", &n);
    
    	result = (1 << n) | x;
    	printf("LSB은 %d입니다.\n\n", result);
    	return 0;
    }//olivia_codingschool

    ※ 주의점

    1<<n 
    1을 n번째 비트로 이동
    a | b
    a, b 중 하나라도 1이라면 값은 1